2013-02-13 4 views
1

У меня есть моя база данных MySQL, вставляющая метку времени, когда я загружаю запись, так что что-то вроде 2013-02-02 16:59:29. Есть ли способ Java преобразовать это в нечто вроде 10 дней назад?Как преобразовать временную метку в дни назад

+1

Ум, хорошо, это просто линии тегов. Холод. – keithp

+0

Как устроен этот сайт. Вы были достаточно долго, чтобы лучше знать. –

ответ

7

Предполагая, что вы читали значения даты и времени из базы данных в Java:

Date date; // read from database 
int days = TimeUnit.MILLISECONDS.toDays(
    System.currentTimeMillis() - date.getTime()); 

, то вы можете отформатировать его, как вам нравится.

2

Fetch время от MySQL с помощью результирующего и передавать данные о время ниже метода

public static void main(String[] args) {     

    long timStampFromMysql = rs.getTimestamp("time");// Fetch time from mysql 
       Calendar cal = Calendar.getInstance(); 
       cal.setTimeInMillis(convertTime(timStampFromMysql , 15)); 
       System.out.println(cal); 

      } 

      public static long convertTime(long timeInMillies, int days) 
      { 

       Calendar calendar = Calendar.getInstance(); 
        calendar.setTimeInMillis(timeInMillies); 
        calendar.add(Calendar.DAY_OF_YEAR, days); 

        return calendar.getTimeInMillis(); 



      } 
0

Days.daysBetween из Joda Time библиотеки будет вычислить, что для вас.

DateTime start = new DateTime(time_ms); 
DateTime end = new DateTime(now); 
Days days = Days.daysBetween(start, end); 
int d = days.getDays();