2011-03-23 4 views
1

Disons que j'ai ceci:php la date est fausse?

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

Je sais que $ a [ 'date'] est juste parce que je reçois: March 22, 2011, 10:22 pm. Cependant, l'écho produit: March 22, 2011, 10:22 pm AND March 22, 2011, 10:22 pm alors que la deuxième partie est supposée être trois heures en avance.

Qu'est-ce que je fais mal?

+3

essayer « heures », au lieu de « heure » –

+1

le s-suffixe « heures » peuvent être fournis, mais ne fera aucune différence (il sera ignoré). Voir http://www.gnu.org/software/tar/manual/html_node/Relative-items-in-date-strings.html#SEC125 –

Répondre

5

Ne voulez-vous pas:

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

Il vous semble fournir le mauvais ordre des paramètres dans $newTime = date($a['date'], strtotime('+3 hour'));. Essayez ceci:

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

Creusez, vous ne strtotime'ing le $ newTime lors de la conversion à ce jour, donc c'est faux.

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

Le format de la fonction date est: string date (string $format [, int $timestamp ]). Ainsi, selon la première ligne, $a['date'] stocke la valeur d'horodatage. Mais, selon la deuxième ligne, sa valeur est le format de la date.

De plus, vous devez taper "+3 heures".

0

j'ajouter la date comme suit

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