[modifier]
Je vais laisser ma réponse ici une question de remarquer/vous enseigner le système version aseptisée non CodeIgnitor d'objet de PHP/taper (+ fonction de la date!), Mais je vous suggère fortement en utilisant et en acceptant la réponse de Russell Dias.
Votre exemple est-il 100% littéral?
Est-ce que votre ligne de code est littéralement echo $today = date('20y-m-d H:m:s',"1397105576");
ou est-ce quelque chose comme echo $today = date('20y-m-d H:m:s',"$date");
?
Si c'est la dernière, et que la variable est créée par une classe, alors elle peut ne pas être correctement typée.
Vous pourriez probablement utiliser ... Je pense qu'un int suffirait ici, je pense que vous pourriez faire quelque chose comme echo $today = date('20y-m-d H:m:s',(int)$date);
, encore une fois, en supposant que votre ligne de code n'est pas littérale en fait.
Je ne suis pas sûr à 100% que int fonctionnerait, si ce n'est pas le cas, (float) est le seul autre type numérique possible. Peut-être (chaîne)?
Voir Type Juggling.
En aparté, pourquoi utilisez-vous 20y? S'il vous plaît changer cela à un Y
De PHP's Date Docs:
Y | A full numeric representation of a year, 4 digits | Examples: 1999 or 2003
y | A two digit representation of a year | Examples: 99 or 03
Ne pas éditer les réponses dans votre question, postez-les comme une réponse séparée, Dans ce cas, 'intval' est la conversion de la chaîne en un' int', pas un 'long '; vous pouvez simplement utiliser '1397105576' au lieu du circuit' intval ("1397105576") ', mais cela ne devrait pas avoir d'importance - PHP traitera l'argument en tant que chaîne. Si cela a vraiment résolu votre problème, vous pouvez poster une réponse séparée ou accepter [celui-ci] (http://stackoverflow.com/questions/3598489/timestamp-to-date-conversion-problem-in-php/3598509# 3598509) qui semble être la même solution –
Ce n'est PAS "H: m: s", c'est "H: i: s". Il semble que plusieurs réponses ne remarquent pas cette erreur. – erjiang