<分区>
我有一个简单但棘手的代码要编写,其中我以 UTC 时间给出了今天的日期字符串。
String s = Instant.now().toString().replaceAll("T.*", "");
我需要找到上个月的第一天和最后一天,并将它们存储在单独的字符串中。关于如何最好地实现它有什么建议吗?
<分区>
我有一个简单但棘手的代码要编写,其中我以 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