Php 日期错了吗?

Php 日期错了吗?,php,Php,假设我有这个: $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']是正确的,因为我得到:2011年3月22日,晚上10:22。然而,回声产生:2011年3月22日晚上10:22和2011年3月22

假设我有这个:

$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']是正确的,因为我得到:
2011年3月22日,晚上10:22
。然而,回声产生:
2011年3月22日晚上10:22和2011年3月22日晚上10:22
,显然第二部分应该提前三个小时

我做错了什么?

您不想:

$newTime = strtotime( '+3 hours',$a['date'] );
$b11 = date("F j, Y, g:i a", $newTime );
难道你不想:

$newTime = strtotime( '+3 hours',$a['date'] );
$b11 = date("F j, Y, g:i a", $newTime );

似乎您在
$newTime=date($a['date'],strotime('+3小时'))中提供了错误的参数顺序。试试这个:

<?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;
?>


似乎您在
$newTime=date($a['date'],strotime('+3小时'))中提供了错误的参数顺序。试试这个:

<?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;
?>

挖掘它,在转换为日期时,您没有使用$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;

挖掘它,在转换为日期时,您没有使用$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;

函数的
日期的格式是:
字符串日期(字符串$format[,int$timestamp])
。因此,根据第一行,
$a['date']
存储时间戳值。但是,根据第二行,它的值是日期格式


此外,您应该键入“+3小时”。

函数的
日期格式是:
字符串日期(字符串$format[,int$timestamp])
。因此,根据第一行,
$a['date']
存储时间戳值。但是,根据第二行,它的值是日期格式


此外,您应该键入“+3小时”。

我添加如下日期

<?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;
?>

我添加如下日期

<?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;
?>


尝试使用“hours”,而不是“hour”,可以提供“hours”中的s后缀,但不会有任何区别(将被忽略)。请参阅try'hours',而不是'hour',可以提供'hours'中的s后缀,但不会有任何区别(将被忽略)。看见