【发布时间】:2016-01-21 02:14:39
【问题描述】:
我知道月初的确切日期,但我需要知道这个月的第一周什么时候开始,这周可以在本月之外开始。
我可以做类似的事情 - 找到“MONTH”开始的工作日并减去“WEEK”开始的天数:
$weekday = d('w', $monthStartTimeStamp);
$weekStart = $monthStartTimeStamp - strtotime('1 day', 0) * (7 - $weekday);
问题:
对于我事先不知道的时间范围,有什么方法可以使这个计算更通用?
可能的用例:
- 给定一些“DATETIME”获取第一个“YEAR”的日期时间
- 给定一些“DATETIME”获取第一个“MONTH”的日期时间
- 给定一些“DATETIME”获取第一个“WEEK”的日期时间
- 给定一些“DATETIME”获取第一个“DAY”的日期时间
- 给定一些“DATETIME”获取第一个“HOUR”的日期时间
- 给定一些“DATETIME”获取第一个“MINUTE”的日期时间
对于日期时间 2016-01-10 10:30,结果将是:
- 年份 : 2016-01-01 00:00
- 月 : 2016-01-01 00:00
- 周 : 2016-01-04 00:00
- 日期:2016-01-10 00:00
- 时间:2016-01-10 10:00
- 分钟:2016-01-10 10:30
P。 S. 这里的大多数问题都详细说明了所需的确切时间范围,例如“如何获得年初”,他们没有回答蚂蚁时间框架如何做到这一点。
【问题讨论】:
-
我很确定您必须针对每种可能的情况“手动”执行此操作,因为它们在很多方面都存在差异
标签: php