Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从unix时间戳解析PHP日期_Php_Date_Datetime_Unix_Timestamp - Fatal编程技术网

从unix时间戳解析PHP日期

从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,这很好,而且是它应该的

所以我在unix时间戳中有日期
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')有什么问题