Java日历获取从今天开始的前10天并将时间设置为12 :00 fails

标签 java android date

我想获取今天之前 10 天的数据,并将时间设置为午夜 12:00

我发现一天有 24 小时,所以 10 天就有 240 小时,所以我有

Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR, cal.get(Calendar.HOUR) - 240);

上面的方法有效,但现在当我想将时间设置为 12:00

我已经尝试过

cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);

添加上述内容后,10 天前现在重置为今天。

可能出了什么问题?

最佳答案

如果您使用java.time库它可以更容易,你可以使用:

LocalDateTime date = LocalDateTime.of(
        LocalDate.now().minusDays(10),
        LocalTime.of(12, 0)
);
<小时/>

例如:

现在是:

2018-04-01T13:30

10 天前,12 点返回:

2018-03-22T12:00

关于Java日历获取从今天开始的前10天并将时间设置为12 :00 fails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49597772/

相关文章:

java - java 中两次测试运行之间的 jprofiler 开销

java - 使用不同的布局管理器不起作用

android - 获取焦点时在一个 View/ImageView 上实现 Android 缩放动画?

java - 日期月份本地化

javascript - 如何使用 JavaScript date-fns 库在特定时区格式化日期/时间

java - Android - 布局内其他 View 中的中心 View

java - 从 drools 5 (5.5.0.Final) 到 drools 6 的升级过程

android - 发送坐标到设备

android - ScrollView 中的内容使 onClick 在 Android 中不起作用

mysql - 比较 yyyy-mm-dd 格式的日期