【发布时间】:2015-05-01 14:24:55
【问题描述】:
我目前正在尝试使用以下格式从当前日期获取日期列表,以便我可以对其进行处理并将其粘贴到我的数据库中
星期六/02-05-2015
到目前为止,我已经设法让系统正确输出日期,但无法让它以单日值递增。 我当前尝试增加它的代码如下
$tempStartDateN = ("$splode[0]/$splode[1]/$splode[2]/$splode[3]");
echo $tempStartDateN;
$tempStartDateN = date('l/d/m/Y', strtotime($tempStartDateN . ' + 1 day'));
echo $tempStartDateN;
我目前正在使用explode处理增量后的数据,效果很好,但只要包含日期名称,就无法使日期本身增加。
目前使用这段代码获取时间,使用explode进行后续处理
$OldDateArray = date("Y/m/d/l");
因此,为了让一个长问题简短,增加需要日期名称、日期、月份和年份的日期的最佳方法是什么?
编辑:
这是我当前的代码,多亏了 SamV 才能做到这一点
$date = date("l/d/m/Y");
echo $date;
echo ('</br>');
list($weekdayName, $dateString) = explode("/", $date, 2);
$dateObj = new \DateTime($dateString);
for($i=0; $i<=5; $i++){
$dateObj->add(new \DateInterval("P1D")); // P1D stands for "Period 1 Day"
echo $dateObj->format("l/d/m/Y"); // Sunday/03/05/2015
echo ('</br>');
}
然而,它的作用是:
Friday/01/05/2015
Tuesday/06/01/2015
Wednesday/07/01/2015
Thursday/08/01/2015
Friday/09/01/2015
Saturday/10/01/2015
Sunday/11/01/2015
这意味着日期和月份正在交换,这是什么原因造成的?
【问题讨论】:
-
请查看链接中标记的答案:-stackoverflow.com/questions/660501/…。相应地更改格式(日期)以获得正确的结果(您想要的结果)。
-
这个问题很让人困惑,但答案可能涉及到使用 DateTime 对象,以及 MySQL 中的 datetime 类型。你可能会让自己变得更难。