如何用Java返回比当前系统时间少4小时的Date对象?
最简单的方法之一:
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...