假设我有这个:
$a11 = date("F j, Y, g:i a", $a['date']);
$newTime = date($a['date'], strtotime('+3 hour'));
$b11 = date("F j, Y, g:i a", $newTime);
echo $a11 . " AND " . $b11;
我知道$ a ['date']是对的,因为我得到:March 22, 2011, 10:22 pm
。然而,当显然第二部分假设提前三小时时,回声产生:March 22, 2011, 10:22 pm AND March 22, 2011, 10:22 pm
。
我做错了什么?
答案 0 :(得分:5)
你不想要:
$newTime = strtotime( '+3 hours',$a['date'] );
$b11 = date("F j, Y, g:i a", $newTime );
答案 1 :(得分:1)
您似乎在$newTime = date($a['date'], strtotime('+3 hour'));
中提供了错误的参数顺序。试试这个:
<?php
$a['date'] = mktime();
$a11 = date("F j, Y, g:i a", $a['date']);
$newTime = date(strtotime('+3 hour'),$a['date']);
$b11 = date("F j, Y, g:i a", $newTime);
echo $a11 . " AND " . $b11;
?>
答案 2 :(得分:0)
开始吧,转换到日期时,你并没有把$ newTime刻板,所以这是假的。
<?php
$a['date'] = time();
$a11 = date("F j, Y, g:i a", $a['date']);
echo 'Now = ' . time() . PHP_EOL;
echo 'Now +3hrs = ' . strtotime( '+3 hours' ) . PHP_EOL . PHP_EOL;
$newTime = strtotime( '+3 hours' );
$b11 = date("F j, Y, g:i a", $newTime );
echo $a11 . ' and ' . $b11 . PHP_EOL;
答案 3 :(得分:0)
date
函数的格式为:string date ( string $format [, int $timestamp ] )
。因此,根据第一行,$a['date']
存储时间戳值。但是,根据第二行,它的值是日期格式。
此外,您应键入“+3小时”。
答案 4 :(得分:0)
我添加日期如下
<?php
$a['date']="March 22, 2011, 10:22 pm";
$a11 = date("F j, Y, g:i a", strtotime($a['date']));
$b11 = strtotime(date("F j, Y, g:i a", strtotime($a['date'])) . " +3 hours");
$b11 = date("F j, Y, g:i a", $b11);
echo $a11 . "AND " . $b11;
?>