php 将日期转换为时间戳

lib*_*ire 3 php string time timestamp date

我正在尝试将 2 个日期转换为时间戳。一个是php生成的(今天的日期),另一个是用户输入的

$today = date("d-m-y");  // 01-12-13
$start_date = "28-11-13";

$todaytimestamp = strtotime($today);
$starttimestamp = strtotime($start_date);

echo "$today > $start_date <br>$todaytimestamp > $starttimestamp";
Run Code Online (Sandbox Code Playgroud)

问题是结果不正确

结果:

13年1月12日 > 11月13日28日 1008201600 > 1857686400

怎么了 ?

kev*_*nji 5

始终使用四位数的年份,因为使用两位数的年份会带来无尽的麻烦。13不被视为年份;相反, PHP 将01-12-1328-11-13解释为 2001 年 12 月 13 日和 2028 年 11 月 13 日。请参阅PHP 的日期格式页面,在“ISO8601 表示法”下:“带破折号的两位数年、月和日”。

如果您2013改为使用,问题就会消失:

$today = date("d-m-Y");  // 01-12-2013
$start_date = "28-11-2013";

$todaytimestamp = strtotime($today);
$starttimestamp = strtotime($start_date);

echo "$today > $start_date <br>$todaytimestamp > $starttimestamp";
Run Code Online (Sandbox Code Playgroud)

输出:

$today = date("d-m-Y");  // 01-12-2013
$start_date = "28-11-2013";

$todaytimestamp = strtotime($today);
$starttimestamp = strtotime($start_date);

echo "$today > $start_date <br>$todaytimestamp > $starttimestamp";
Run Code Online (Sandbox Code Playgroud)