我使用unix时间戳将购买日期存储在我的应用程序中。 样本数据:1371463066
我想根据天数和当天时间戳的差异进行一些操作。 例如:如果购买日期与当前日期之间的天数为5天,则再次发送有关反馈的电子邮件。
如何使用java获得两个时间戳之间的天数差异?
答案 0 :(得分:9)
我没有测试过,但你可能会尝试这样做:
Date purchasedDate = new Date ();
//multiply the timestampt with 1000 as java expects the time in milliseconds
purchasedDate.setTime((long)purchasedtime*1000);
Date currentDate = new Date ();
currentDate .setTime((long)currentTime*1000);
//To calculate the days difference between two dates
int diffInDays = (int)( (currentDate.getTime() - purchasedDate.getTime())
/ (1000 * 60 * 60 * 24) )
答案 1 :(得分:2)
Unix时间戳是自1.1.1970以来的秒数。如果你有2个unix时间戳,那么整天的差异是
int diff =(ts1 - ts2)/ 3600/24
答案 2 :(得分:0)
您可以尝试使用日历(也可以使用TimeZones):
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(1371427200l * 1000l);
Calendar newCalendar = Calendar.getInstance();
newCalendar.setTimeInMillis(1371527200l * 1000l);
// prints the difference in days between newCalendar and calendar
System.out.println(newCalendar.get(Calendar.DAY_OF_YEAR) - calendar.get(Calendar.DAY_OF_YEAR));
输出:
1