Java:将unix时间(长)舍入到该月的第一天

标签 java unix-timestamp

我试图在 Java 中将 unix 时间四舍五入到该月的第一天,但​​没有成功。示例:

1314057600 (Tue, 23 Aug 2011 00:00:00 GMT)

1312156800 (Mon, 01 Aug 2011 00:00:00 GMT)

unix 时间我从文件中读取并将其作为 Long 存储在变量中(名为“valor”的变量)。 到目前为止,我已经能够用它创建一个 Java 时间戳

LocalDateTime timestamp = LocalDateTime.ofInstant(Instant.ofEpochSecond(valor), ZoneId.systemDefault());

并为月初创建一个新的时间戳:

LocalDate key = LocalDate.of(timestamp.getYear(), timestamp.getMonthValue(), 1);

如何获取长整型的新时间戳?

最佳答案

这样的事情听起来像是可行的:

key.atStartOfDay().atZone(ZoneId.systemDefault()).toEpochSecond()

(假设您希望它位于系统的默认时区)。

关于Java:将unix时间(长)舍入到该月的第一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37554929/

相关文章:

java - 用Java生成不同时区的报告

linux - 构建一个查找目录中所有文件的 UNIX 管道(使用 find 、xargs 和 du 命令)

unix - 数据库中的闰秒处理

php - Max Unix timestamp 在 php 中搜索 spesifit 时间

java - FunctionalInterface Comparator 有 2 个抽象方法

java - 找不到符号变量 ic_launcher

php - MySQL 查询中带有日期的 UNIX_TIMESTAMP 不起作用

C++ - 我们如何在 Linux 中获得毫秒时间戳?

java - 我可以将 Play 配置为使用 mysql 枚举而不是整数吗?

java - 我应该如何修复我的 netbeans?