我有一個很長的值代表一個日期,即已經將日期轉換爲長期,現在我想增加長期價值本身到下一個日期,如何執行操作爲獲得下一個日期而長的價值。增加一個很長的值,這是一個日期
long endDate=1454756400000
代表今天的日期long值,它是毫秒(00:00:00 GMT,1970年1月1日)。
我有一個很長的值代表一個日期,即已經將日期轉換爲長期,現在我想增加長期價值本身到下一個日期,如何執行操作爲獲得下一個日期而長的價值。增加一個很長的值,這是一個日期
long endDate=1454756400000
代表今天的日期long值,它是毫秒(00:00:00 GMT,1970年1月1日)。
long longvalue = ...;
java.util.Date dateValue = new java.util.Date(longvalue);
現在,您可以遞增日期,然後將其轉換回長。
您使用日曆類
Calendar rightNow = Calendar.getInstance();
rightNow.add(Calendar.DATE, 1); //add one day
long nextDayInMillis = rightNow.getTimeInMillis()
日曆的Java API: http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html
如果我理解你想要什麼:
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添加一天的日期輸出相應的長時間
你可以使用Java的日曆:
Calendar calendar = Calendar.getInstance();
calendar.setTime(<YourLongValue>);
,然後添加:
calender.add(Calendar.DAY, 1);
1天= 86 400 000毫秒
因此:
final long DAY_TO_MS = 86400000;
long today = 1454756400000;
long tomorrow = today + DAY_TO_MS;
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();
使用固定每天多久的長期價值將會錯過閏秒(和其他角落案件)。
爲什麼不使用日期並將日期遞增一天?這正是他們應該使用的。 – assylias
這是代表日期的秒數嗎? –
下次約會是什麼?下一個毫米?下一個小時?明天?下週?如果你想要第二天,只需添加:1000 * 3600 * 24 –