2017-04-17 2 views
1

PHP:PHP Druck falsches Datum

<?php echo date("d-m-Y",strtotime($pet['pet_lost_date']));?> 

Variable Wert: -

[pet_lost_date] => 16/04/2017 

Ausgang:

01-01-1970 

Bitte helfen Sie mir, warum ich viel gesucht, aber ich fand nichts hilfreich.

Warum erscheint das falsche Datum? Wo ist ein Fehler?

Und wie kann ich von gegebenem Datum bis zu totalen Tagen Monat und Jahren zählen?

+0

Sind Sie sicher? teste es und hol mir das Ergebnis

+0

Ja, ich bin mir sicher, dass es passiert –

+0

wenn '$ pet [' pet_lost_date ']' kommt würden Sie bei einer Abfrage nicht in Erwägung ziehen, [Datums- und Zeitfunktionen von MySQL] (https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html) zu verwenden und sicherzustellen, dass " $ pet ['pet_lost_date'] 'ist nicht leer vor der Verwendung – OldPadawan

Antwort

0

Php date() nicht dd/mm/yy Format

wie unten erkennen: -

<?php 
if(!empty($pet['pet_lost_date'])){ 
    echo date("d-m-Y",strtotime(str_replace('/','-',$pet['pet_lost_date']))); 
} 
?> 

Ausgang: - https://eval.in/777593

Mit date_diff(): -

https://eval.in/777610

+1

, aber leer' $ pet ['pet_lost_date'] 'wird' 01-01-1970' zurückgeben, also muss er sicherstellen, dass seine Variable nicht leer ist Was kann eigentlich sein, meinst du nicht? – OldPadawan

+1

@OldPadawan Sie haben Recht, ein leerer Scheck auch benötigt –

+0

Ich bin mir ziemlich sicher ist var ist aber leer :) – OldPadawan

0

Sie müssen das Datum etwas anderes zu formatieren:

$pet['pet_lost_date'] = "16/04/2017"; 
$pet['pet_lost_date'] = str_replace('/', '-', $pet['pet_lost_date']); 
echo date("d-m-Y",strtotime($pet['pet_lost_date'])); 

Ausgang:

16-04-2017