其他人在我之前回答了这个问题,但这里是我的测试和笔记来补充对话...... strtotime() 将字符串转换为时间整数。date() 将整数转换为(可选格式)字符串。我想说你总是可以使用它而不是 epochvonverter.com ......但现在我明白你为什么去那里了。另请注意,手册是这样说的:
"注意:m/d/y 或 dmy 格式的日期通过查看各个组件之间的分隔符来消除歧义:如果分隔符是斜杠 (/),则假定为美式 m/d/y;而如果分隔符是破折号 (-) 或点 (.),然后假定欧洲 dmy 格式。为避免潜在的歧义,最好尽可能使用 ISO 8601 (YYYY-MM-DD) 日期或 DateTime::createFromFormat() 。” - http://www.php.net/manual/en/function.strtotime.php(该页面上有更多古怪的东西,顺便说一句)。
非常有趣的是,这个带有 dot 的例子不是产生 dmy,而是产生 hms!我想那是因为我们正在使用 strtoTIME,而不是......呃.. strtoDATE :)
考虑一下:
$integer = 1382389873;
var_dump($integer);
echo "<br>";
//int(1382389873)
$string = date($integer);
var_dump($string);
echo "<br>";
//string(10) "1382389873"
$formatted=date('d.m.y',$integer);
$laterint=strtotime($formatted."+2 week");
var_dump($laterint);
echo "<br>";
// int(1383682213)
$laterstring=date('d.m.y',$laterint);
var_dump($laterstring);
echo "<br>";
// string(8) "05.11.13"
这是多汁的部分:
$date1 = strtotime("5.11.13");
var_dump($date1);
echo "<br>";
$datestring1=date('d.m.y',$date1);
var_dump($datestring1);
//BAD PHP, BAD!
echo "<br>";
$date2 = strtotime("5.11.2013");
var_dump($date2);
echo "<br>";
$datestring2=date('d.m.y',$date2);
var_dump($datestring2);
echo "<br>";
$date3 = strtotime("5/11/13");
var_dump($date3);
echo "<br>";
$datestring3=date('d.m.y',$date3);
var_dump($datestring3);
echo "<br>";
真的很有趣,伙计们-谢谢大家!对我来说,这个故事的寓意是总是用 4 位数的年份来明确。