所以我正在尝试将一个日期存储在一个字符串中,并将其增加一周9次。 (我想要10个日期)。
$start_date
的值最初是:2013-12-04 12:00
,但是当我增加它时,它变为:
606813
then:
1211613
1816413 and so on.
我知道格式化会发生变化,但我不明白为什么我会得到我的结果。第二个返回的数字似乎意味着:
12(月)11(日)6(一些未知的东西)13(年)
这将是一周,但第一和第三个返回的数字根本没有意义,除非我不知道一年中的第60个月和第18个月,他们都错过了一个时间跟着约会一起去。
这是我第一次尝试使用strtotime()
所以我不确定我在做什么,但我已经尝试过这个,我可以使用你能提供的任何帮助。
$start_date = $row["start_time"];
for ( $i = 1; $i<9; $i++) {
$start_date= strtotime('+1 week', $start_date);
$arr = array('id' => $row["course_id"],
'title' => $row["course_name"],
'start' => $start_date,
'allDay' => false
);
array_push($result, $arr);
}
答案 0 :(得分:0)
要使用strtotime增加时间,我必须先在任何增量之前转换开始日期,否则它会认为$ startdate是“epoch”并在70年代创建日期。
//changed here
$start_date = strtotime($row["start_time"]);
for ( $i = 1; $i<9; $i++){
$start_date= strtotime('+1 week', $start_date);
$arr = array('id' => $row["course_id"],
'title' => $row["course_name"],
'start' => $start_date,
'allDay' => false
);
array_push($result, $arr);
}
答案 1 :(得分:0)
strtotime返回int,第二个参数(如果使用)应该是有效的时间戳。此外,如果您想获取日期字符串,可以使用date函数
$start_date = strtotime('2013-12-04 12:00');
for ( $i = 1; $i<9; $i++){
$start_date= strtotime('+1 week', $start_date);
$arr = array('id' => $row["course_id"],
'title' => $row["course_name"],
'start' => date('Y-m-d h:i:s',$start_date),
'allDay' => false
);
array_push($result, $arr);
}