strtotime转换:仅日期


strtotime conversion: only date

因此,我尝试将存储在字符串中的日期加一周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);
}

strtotime返回int,第二个参数(如果使用)应该是有效的时间戳。此外,如果你想获得日期字符串,你可以使用日期函数

$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);
    }

要用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);
        }