Percy

获取截至4小时之前的日期

java

如何用Java返回比当前系统时间少4小时的Date对象?


阅读 394

收藏
2020-11-30

共1个答案

小编典典

最简单的方法之一:

Date date = new Date(System.currentTimeMillis() - (4 * 60 * 60 * 1000));

但是,这没有考虑DST(夏令时)。另一种选择是Calendar:

Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.HOUR_OF_DAY, -4);
Date date = calendar.getTime();

但是,这是一个非常丑陋的API。另一种选择是JodaTime:

DateTime dateTime = new DateTime().minusHours(4);
Date date = dateTime.toDate(); // If you ever need this...
2020-11-30