php日期错了?

时间:2011-03-23 02:56:15

标签: 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']是对的,因为我得到:March 22, 2011, 10:22 pm。然而,当显然第二部分假设提前三小时时,回声产生:March 22, 2011, 10:22 pm AND March 22, 2011, 10:22 pm

我做错了什么?

5 个答案:

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