4

我在尝试什么

参考:获取给定日期时间集的每月第一个星期一

我正在尝试根据给定的日期时间获得每月的第一个星期一。

例如:考虑 datetimes 2013-08-02 00:00; 2013-09-05 00:00。然后结果将2013-08-05 00:00; 2013-09-02 00:00分别。

我能够做到这一点,但它不会保留时间部分。

我需要什么

在上面的例子中:如果两个日期时间包含一个时间值说 2013-08-02 10:00; 2013-09-05 10:00。那么输出应该是2013-08-05 10:00; 2013-09-02 10:00. 但我 2013-08-05 00:00; 2013-09-02 00:00从我的代码中得到。我能做些什么来解决这个问题?

代码

 $test = new DateTime('2013-08-02 10:00');
 echo $test->modify('first monday')->format('Y-m-d H:i');
4

2 回答 2

3

如果您想保留 10:00 的时间,请尝试:

$test = new DateTime('2013-08-02 10:00');
echo $test->modify('first monday ' . $test->format('H:i'))->format('Y-m-d H:i');
于 2013-08-06T11:37:39.013 回答
1
Try this:
echo strftime("%d/%m/%Y", strtotime("first Monday of Aug 2013"));
于 2013-08-06T11:27:04.623 回答