当前位置: 欣欣网 > 码农

今日代码 PK | 日期时间处理

2024-03-17码农

在我们平时的开发工作中,肯定离不开对日期时间的处理。

比如我现在需要获取三天前的 0 点,大家都是怎么做的呢?

是这样吗:

import java.util.Date;
public classMain {
publicstaticvoidmain(String[] args) {
// 获取当前时间
DatecurrentDate = newDate();
// 计算三天前的时间
finallongDAY = 24 * 60 * 60 * 1000;
longthreeDaysAgoMillis = currentDate.getTime() - (3 * DAY);
DatethreeDaysAgoDate = newDate(threeDaysAgoMillis);
// 设置时间为0点
threeDaysAgoDate.setHours(0);
threeDaysAgoDate.setMinutes(0);
threeDaysAgoDate.setSeconds(0);
// 输出结果
System.out.println("三天前的 0 点时间:" + threeDaysAgoDate);
}
}


其实 LocalDate 里有很方便且现成的实现:

import java.time.LocalDate;
public classMain {
publicstaticvoidmain(String[] args) {
// 获取当前日期
LocalDatetoday = LocalDate.now();
// 减去三天
LocalDatethreeDaysAgo = today.minusDays(3);
// 输出三天前的0点时间
System.out.println("三天前的 0 点时间:" + threeDaysAgo.atStartOfDay());
}
}

大家更喜欢哪种呢?欢迎投票并在评论区留下自己的看法。

完整代码片段来源于代码小抄,欢迎点击进入小程序阅读!

在线访问:https://www.codecopy.cn/post/k2j9rv

更多优质代码欢迎进入小程序查看!

往期推荐