不一致的 strtotime 转换
Inconsistent strtotime conversions
使用 strtotime 对日期进行转换时,我得到的结果不一致。
array[0] 保存要转换的日期:
Original -> converted -> converted back
Array ([0] => 30.01.15) -> 1422576000 -> GMT: Fri, 30 Jan 2015 00:00:00 GMT
Array ([0] => 23.01.15) -> 1427925675 -> GMT: Wed, 01 Apr 2015 22:01:15 GMT
当使用破折号而不是点时,我得到:
Array ([0] => 30-01-15) -> 1894665600 -> GMT: Tue, 15 Jan 2030 00:00:00 GMT
Array ([0] => 23-01-15) -> 1673740800 -> GMT: Sun, 15 Jan 2023 00:00:00 GMT
它在第一个实例中工作,使用点,但在第二个实例中使用点我得到今天的日期?有什么想法可能导致这种不一致吗?
看来 PHP 正在以不同的格式解释日期。
Array ([0] => 30.01.15) -> 1422576000 -> GMT: Fri, 30 Jan 2015 00:00:00 GMT
正在读取日期 DD.MM.YY
Array ([0] => 30-01-15) -> 1894665600 -> GMT: Tue, 15 Jan 2030 00:00:00 GMT
读取日期为 YY-MM-DD
尝试将其更改为:
Array ([0] => 15-01-30)
根据 PHP 手册,必须以支持的 date/time 格式提供日期和时间:http://php.net/manual/en/datetime.formats.date.php
日期值似乎不支持 "dot" 表示法,因此 PHP 尝试将其解析为时间,这就是您出现这种 "strange" 行为的原因。
为了更好地解释不同的行为:
第一个 运行 30 不能解释为小时值,因此 PHP 尝试使用日期解析,第二个 运行,23 是一个合理的小时值,所以它用于时间。
The "Day, month and two digit year, with dots or tabs" format (dd [.\t] mm "." yy) only works for the year values 61 (inclusive) to 99 (inclusive) - outside those years the time format "HH [.:] MM [.:] SS" has precedence
使用 strtotime 对日期进行转换时,我得到的结果不一致。
array[0] 保存要转换的日期:
Original -> converted -> converted back
Array ([0] => 30.01.15) -> 1422576000 -> GMT: Fri, 30 Jan 2015 00:00:00 GMT
Array ([0] => 23.01.15) -> 1427925675 -> GMT: Wed, 01 Apr 2015 22:01:15 GMT
当使用破折号而不是点时,我得到:
Array ([0] => 30-01-15) -> 1894665600 -> GMT: Tue, 15 Jan 2030 00:00:00 GMT
Array ([0] => 23-01-15) -> 1673740800 -> GMT: Sun, 15 Jan 2023 00:00:00 GMT
它在第一个实例中工作,使用点,但在第二个实例中使用点我得到今天的日期?有什么想法可能导致这种不一致吗?
看来 PHP 正在以不同的格式解释日期。
Array ([0] => 30.01.15) -> 1422576000 -> GMT: Fri, 30 Jan 2015 00:00:00 GMT
正在读取日期 DD.MM.YY
Array ([0] => 30-01-15) -> 1894665600 -> GMT: Tue, 15 Jan 2030 00:00:00 GMT
读取日期为 YY-MM-DD
尝试将其更改为:
Array ([0] => 15-01-30)
根据 PHP 手册,必须以支持的 date/time 格式提供日期和时间:http://php.net/manual/en/datetime.formats.date.php
日期值似乎不支持 "dot" 表示法,因此 PHP 尝试将其解析为时间,这就是您出现这种 "strange" 行为的原因。
为了更好地解释不同的行为: 第一个 运行 30 不能解释为小时值,因此 PHP 尝试使用日期解析,第二个 运行,23 是一个合理的小时值,所以它用于时间。
The "Day, month and two digit year, with dots or tabs" format (dd [.\t] mm "." yy) only works for the year values 61 (inclusive) to 99 (inclusive) - outside those years the time format "HH [.:] MM [.:] SS" has precedence