java - 查找上个月的第一个和最后一个日期

标签 java datetime utc

<分区>

我有一个简单但棘手的代码要编写,其中我以 UTC 时间给出了今天的日期字符串。

String s = Instant.now().toString().replaceAll("T.*", "");

我需要找到上个月的第一天和最后一天,并将它们存储在单独的字符串中。关于如何最好地实现它有什么建议吗?

最佳答案

您可以使用 TemporalAdjusters .

如果您不必以字符串开头,那就不要。如果可能,以 LocalDate 开头。

如果必须以字符串开头,可以通过parse 将字符串s 转换为LocalDate:

LocalDate ld = LocalDate.parse(s);

现在我们可以像这样得到月初和月底:

LocalDate startOfMonth = ld.with(TemporalAdjusters.firstDayOfMonth());
LocalDate endOfMonth = ld.with(TemporalAdjusters.lastDayOfMonth());

我建议您不要将它们转换为字符串,除非绝对必要(比如您将其显示给用户)。

关于java - 查找上个月的第一个和最后一个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54978876/

相关文章:

javascript - 使用 moment().utcOffset() 更新时间偏移

java - Redisson 尝试连接到内部 redis IP,而不是配置中指定的 float redis IP

java - 收到错误 "java.lang.StackOverflowError: stack size 1036KB"和 OutOfMemory

java - 如何设置要在 Bluemix 上编译的代码文件(样本除外)?

python - 在Python中,将一天中的特定时间与纪元中的当前时间进行比较

windows - Unix SSL 证书日期比 Windows 多 6 小时

更新到 seam 2.3.0.Final 时找不到 javax.validation.ConstraintViolation

php - 数学运算 PHP 与时间

jquery - 删除时区jquery

java - 在获取 UTC Android 中的实际时间时遇到问题