我有一个表示日期的长值,即将日期转换为long,现在我想将long值本身增加到下一个日期,如何对long值执行操作以获取下一个日期。
long endDate=1454756400000
表示今天的日期长值,即毫秒(格林尼治标准时间00:00:00,1970年1月1日)。
答案 0 :(得分:3)
代表什么?从某个时代开始的几秒钟?
如果是秒,您可以每天添加秒数(60 * 60 * 24)?然后隐蔽回打印。
答案 1 :(得分:2)
您使用日历类
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
答案 2 :(得分:2)
1天= 86 400 000 ms
因此:
final long DAY_TO_MS = 86400000;
long today = 1454756400000;
long tomorrow = today + DAY_TO_MS;
答案 3 :(得分:1)
long longvalue = ...;
java.util.Date dateValue = new java.util.Date(longvalue);
现在,您可以增加日期,然后将其转换回长。
答案 4 :(得分: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天并输出相应的长时间
答案 5 :(得分:1)
您可以使用java的日历:
Calendar calendar = Calendar.getInstance();
calendar.setTime(<YourLongValue>);
然后添加:
calender.add(Calendar.DAY, 1);
答案 6 :(得分: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();
使用固定的长值表示一天的时间将会错过闰秒(和其他角落情况)。