java - 获取一年中给定月份的第一天开始和最后一天结束的长值
问题描述
给定一个月(3 月 3 日、9 月 9 日等)和一年(2018 年等),我希望能够获得两个确切时间日期的纪元时间值:
- 给定月份第一天的午夜(一天的开始)
- 给定月份的最后一天 23:59:59(一天结束)
提前致谢
解决方案
对于当月的最后一刻,您可以简单地从上个月开始的午夜减去一秒。这是一个 Java 8 选项:
LocalDate start = LocalDate.of(2018, 5, 1);
LocalDate end = LocalDate.of(2018, 6, 1);
ZoneId zoneId = ZoneId.systemDefault();
long e1 = start.atStartOfDay(zoneId).toEpochSecond();
long e2 = end.atStartOfDay(zoneId).toEpochSecond() - 1L;
演示
推荐阅读
- ios - iOS Swift,如何区分使用 Apple Watch 和 iPhone 的步骤?
- java - Elasticsearch 6 RestHighLevelClient:如何知道 IndexRequest 的结果何时可以读取?
- cordova - Ionic - GPS 的设备旋转
- javascript - ngIf else if 在 Angular 中
- javascript - 使用 DOM 循环无限滚动
- java - RxJava 将 List 转换为 Map of Maps
- java - 使用 Saxon 时未拾取 XSLT 输入参数?
- plsqldeveloper - PL/SQL 脚本的 SQL 查询
- css - CSS中的样式表
- mysql - 使用 with() 函数进行模型关系预加载的 Eloquent 查询问题