我知道本月初的确切日期,但我需要知道本月的第一周何时开始,本周可以在本月之外开始。
我可以做点什么 - 找到工作日的时间" MONTH"开始并减去“周”和“34”开头的天数。 :
$weekday = d('w', $monthStartTimeStamp);
$weekStart = $monthStartTimeStamp - strtotime('1 day', 0) * (7 - $weekday);
问题:
是否有某种方法可以使这个计算在我事先不知道的时间范围内更通用?
可能的用例:
对于日期时间2016-01-10 10:30结果将是:
P上。 S.这里的大多数问题都指明了需要什么时间框架,例如"如何获得年初",他们没有回答如何在蚂蚁时间框架内做到这一点。
答案 0 :(得分:1)
这是伪代码的一个想法:
`
$int2char = array(
'YEAR' => 8,
'MONTH' => 6,
'DAY' => 4,
'HOUR' => 2,
'MINUTE' => 0
);
$interval = 'MONTH';
$str = date("YmdHi", $timestamp);
$zeros = $int2char[$interval];
$d = substring($str, 0, 12-$zeros) . substring("00000000", 0, $zeros);
$date = DateTime::createFromFormat('YmdHi', $d);
echo $date->format('Y-m-d H:i');
`