Java 日期截止时间信息
我有一个包含日期和时间信息的Java Date对象。我想写一个切断时间信息的方法,截断小时-分钟-秒,所以我只剩下日期。
示例输入:
2008-01-01 13:15:00
预期输出:
2008-01-01 00:00:00
你有小费吗?我尝试做这样的事情:
(timestamp / (24 * 60 * 60 * 1000)) * (24 * 60 * 60 * 1000)
但我遇到了时区的问题。
我有一个包含日期和时间信息的Java Date对象。我想写一个切断时间信息的方法,截断小时-分钟-秒,所以我只剩下日期。
示例输入:
2008-01-01 13:15:00
预期输出:
2008-01-01 00:00:00
你有小费吗?我尝试做这样的事情:
(timestamp / (24 * 60 * 60 * 1000)) * (24 * 60 * 60 * 1000)
但我遇到了时区的问题。
执行日期/时间操作的推荐方法是使用 Calendar
对象:
Calendar cal = Calendar.getInstance(); // locale-specific
cal.setTime(dateObject);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
long time = cal.getTimeInMillis();
你有没有看过Apache Commons Lang中的DateUtils截断方法?
Date truncatedDate = DateUtils.truncate(new Date(), Calendar.DATE);
将删除时间元素。