php - 基于PHP中的日期字符串获取时间间隔
问题描述
使用strtotime(),我可以得到一个特定的时间戳,但是如果我想根据字符串的粒度得到一个上限和下限呢?
例如,如果我指定“2018 年 7 月”或“7 月”或“7/2018”,我希望时间戳的下限为 2018-07-01 00:00:00,时间戳的上限为 2018-07 -31 23:59:59。
如果我指定“2018 年 7 月 3 日”或“2018 年 7 月 3 日”或“2018 年 7 月 3 日”,我想要一个 2018 年 7 月 3 日 00:00:00 的下限时间戳和一个上限时间戳2018-07-03 23:59:59。
如果我指定“2018”,我希望时间戳的下限为 2018-01-01 00:00:00,时间戳的上限为 2018-12-31 23:59:59。
解决方案
PHP datetime 可以解析月份的第一天和最后一天,文档: http: //php.net/manual/en/datetime.formats.relative.php
strtotime('first day of July, 2018');
strtotime('last day of July, 2018');
我不知道您是否会找到一个现有的解决方案来完全匹配您正在寻找的内容,但您应该能够编写自己的逻辑来使用日期时间理解的相关字符串的灵活性来完成此任务。
一年中,它总是 XXXX-01-01 00:00:00 到 XXXX-12-31 23:59:59 并且对于特定日期,它总是 XXXX-XX-XX 00:00:00到 XXXX-XX-XX 23:59:59,所以这些很简单。
推荐阅读
- ruby-on-rails - 显示和统计协会的协会
- javascript - 如何在javascript中手动触发“粘贴”事件?
- python - BeautifulSoup XML:通过兄弟元素的文本查找元素
- java - 无法向 API Retrofit 提交帖子
- javascript - 如何从由无序列表组成的菜单中从所选项目中获取值
- powershell - 由于特殊字符,Curl 命令在 powershell 中不起作用
- java - 如何使用 vertx 调用外部 API 并将数据返回给 java 对象
- c# - 为什么 Mono Develop(Unity) 会自行从脚本中删除我的自定义定义指令?
- c# - 如何从 JSON 中获取没有键的空白值?
- android - 当我尝试在 Kotlin 中优化 init 语句时,我可以在哪里添加 try{...} 代码?