从unix时间戳解析PHP日期
所以我在unix时间戳中有日期从unix时间戳解析PHP日期,php,date,datetime,unix,timestamp,Php,Date,Datetime,Unix,Timestamp,所以我在unix时间戳中有日期07.May.2008 20:43(1210193026) 根据PHP的手册fordate\u parse()函数接受 日期,格式为strotime()接受的格式 根据StrotTime(),它接受 日期/时间字符串。有效格式以日期和时间进行解释 格式 所以复合日期表示它接受unix时间戳的格式为 “@”“-”?[0-9]+ 当然,下面的代码是有效的: echo strtotime('@1210193026'); 并产生1210193026,这很好,而且是它应该的
07.May.2008 20:43
(1210193026
)
根据PHP的手册fordate\u parse()函数接受
日期,格式为strotime()接受的格式
根据StrotTime(),它接受
日期/时间字符串。有效格式以日期和时间进行解释
格式
所以复合日期表示它接受unix时间戳的格式为
“@”“-”?[0-9]+
当然,下面的代码是有效的:
echo strtotime('@1210193026');
并产生1210193026
,这很好,而且是它应该的
但是接下来的一个
$date = date_parse('@1210193026');
var_dump($date);
打印出来
array(16) {
["year"]=>
int(1970)
["month"]=>
int(1)
["day"]=>
int(1)
["hour"]=>
int(0)
["minute"]=>
int(0)
["second"]=>
int(0)
["fraction"]=>
float(0)
["warning_count"]=>
int(0)
["warnings"]=>
array(0) {
}
["error_count"]=>
int(0)
["errors"]=>
array(0) {
}
["is_localtime"]=>
bool(true)
["zone_type"]=>
int(1)
["zone"]=>
int(0)
["is_dst"]=>
bool(false)
["relative"]=>
array(6) {
["year"]=>
int(0)
["month"]=>
int(0)
["day"]=>
int(0)
["hour"]=>
int(0)
["minute"]=>
int(0)
["second"]=>
int(1210193026)
}
}
我在两台不同的机器上进行了测试
PHP 7.0.0RC7(cli)(构建时间:2015年11月11日12:16:11)(NTS)(Windows 10)
及
PHP 5.6.16(cli)(构建时间:2015年12月4日12:50:33)(Cent OS 7)
问题是我可以使用什么来将unix时间戳解析为日期数组,第二个不太重要的问题是为什么date\u parse()不能按预期的方式工作。
$date=date\u parse(date('Y-m-d H:I:s',1210193026))代码>至于为什么,也许你真的在PHPisn中发现了一个bug,这不是很笨拙吗?转换一种方式然后转换另一种方式?我不想无缘无故地浪费cpu资源。date\u parse('07.May.2008 20:43')
?或者$date=new DateTime('@1210193026')有什么问题代码>?$date=date_parse(日期('Y-m-d H:i:s',1210193026))代码>至于为什么,也许你真的在PHPisn中发现了一个bug,这不是很笨拙吗?转换一种方式然后转换另一种方式?我不想无缘无故地浪费cpu资源。date\u parse('07.May.2008 20:43')
?或者$date=new DateTime('@1210193026')有什么问题代码>?