增加一个日期的长值

时间:2012-05-02 14:23:05

标签: java calendar

我有一个表示日期的长值,即将日期转换为long,现在我想将long值本身增加到下一个日期,如何对long值执行操作以获取下一个日期。

long endDate=1454756400000 

表示今天的日期长值,即毫秒(格林尼治标准时间00:00:00,1970年1月1日)。

7 个答案:

答案 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();

使用固定的长值表示一天的时间将会错过闰秒(和其他角落情况)。