2012-05-02 31 views
2

我有一個很長的值代表一個日期,即已經將日期轉換爲長期,現在我想增加長期價值本身到下一個日期,如何執行操作爲獲得下一個日期而長的價值。增加一個很長的值,這是一個日期

long endDate=1454756400000 

代表今天的日期long值,它是毫秒(00:00:00 GMT,1970年1月1日)。

+4

爲什麼不使用日期並將日期遞增一天?這正是他們應該使用的。 – assylias

+0

這是代表日期的秒數嗎? –

+0

下次約會是什麼?下一個毫米?下一個小時?明天?下週?如果你想要第二天,只需添加:1000 * 3600 * 24 –

回答

3

這是什麼表示?自一些時代以來秒?

如果秒,您可以每天添加秒數(60 * 60 * 24)?然後轉回打印。

+0

這是從時代(1970年1月1日00:00:00 GMT)開始的毫秒。 – harqs

+0

endDate + =(60 * 60 * 24 * 1000); – Neil

+0

計劃的閏秒如何? – esej

1

long longvalue = ...;

java.util.Date dateValue = new java.util.Date(longvalue);

現在,您可以遞增日期,然後將其轉換回長。

1

如果我理解你想要什麼:

long endDate=1454756400000L; 
     GregorianCalendar calendar = new GregorianCalendar(); 
     calendar.setTime(new Date(endDate)); 
     calendar.add(Calendar.DAY_OF_MONTH, 1); 
     System.out.println(calendar.getTime().getTime()); 

這將在1添加一天的日期輸出相應的長時間

1

你可以使用Java的日曆:

Calendar calendar = Calendar.getInstance(); 
calendar.setTime(<YourLongValue>); 

,然後添加:

calender.add(Calendar.DAY, 1); 
2

1天= 86 400 000毫秒

因此:

final long DAY_TO_MS = 86400000; 
long today = 1454756400000; 

long tomorrow = today + DAY_TO_MS; 
1
long endDate=1454756400000L; 
Calendar calendar = Calendar.getInstance(); 
calendar.setTime(new Date(endDate));; 
calendar.add(Calendar.DAY_OF_YEAR, 1); 
Date newDate = calendar.getTime(); 
long newEndDate = newDate.getTime(); 

使用固定每天多久的長期價值將會錯過閏秒(和其他角落案件)。