Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.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
Php 以最有效的方式将不常见的日期格式转换为时间戳?_Php - Fatal编程技术网

Php 以最有效的方式将不常见的日期格式转换为时间戳?

Php 以最有效的方式将不常见的日期格式转换为时间戳?,php,Php,我有一个这样的日期:201011120000 我需要用PHP将其转换为时间戳 我一直在网上搜索PHP文档,但找不到任何可以直接转换的文档。有人存在吗?如果不是,转换的最有效方式是什么?谢谢您的帮助。您可以通过以下方式完成此操作: $d现在是一个DateTime实例。您可以使用或使用其上的方法将其转换为时间戳 请注意,这需要PHP5.3 strtotime('20101101120000') ..您需要该功能 这些格式在中进行了描述。我只对这个已解决的问题进行了补充,因为这可能对无意中发现(像我

我有一个这样的日期:201011120000

我需要用PHP将其转换为时间戳

我一直在网上搜索PHP文档,但找不到任何可以直接转换的文档。有人存在吗?如果不是,转换的最有效方式是什么?谢谢您的帮助。

您可以通过以下方式完成此操作:

$d
现在是一个
DateTime
实例。您可以使用或使用其上的方法将其转换为时间戳

请注意,这需要PHP5.3

strtotime('20101101120000')
..

您需要该功能


这些格式在中进行了描述。

我只对这个已解决的问题进行了补充,因为这可能对无意中发现(像我一样)并希望获得实际日期时间戳的用户有所帮助

对于大多数人来说,当他们提到时间戳时,我的假设是他们在寻找一个正常的“YYYY-MM-DD HH:MM:SS”时间戳,而不是使用
getTimestamp()
方法时得到的unix时间戳(如果确实在寻找unix时间戳,请参阅公认的答案)

因此,我将进一步阐述lonesomeday的答案(完全正确),以帮助那些希望实际获得有效格式化日期的人,他们可以向用户显示或插入他们的数据库:

$d = DateTime::createFromFormat('YmdGis', '20101101120000');

$formatedDate = $d->format('Y-m-d H:i:s'); // will return 2010-11-01 12:00:00
$formatedDate = $d->format('m-d-Y h:i A'); // will return 11-01-2010 12:00 PM 

这个例子的预期输出是什么?当你的答案出现时,我刚刚计算出它是YmdGis+1快速响应你试过了吗?它有用吗?从文档中:函数期望得到一个包含英文日期格式的字符串。这确实有效,在使用MySQL时非常有用。还请注意,它将根据当前设置的时区转换为GMT。有趣的。。。我认为这会对格式有更多限制,但是。。。酷:)+1@Felix金:如果有疑问,请点击这里:+1-我不明白为什么这里没有更多的投票!注意:这个函数在内部调用系统的C库提供的strtime()函数。此函数在不同的操作系统中表现出明显不同的行为。建议在PHP5.3.0及更高版本上使用date_parse_from_format(),它不会遇到这些问题。
$d = DateTime::createFromFormat('YmdGis', '20101101120000');

$formatedDate = $d->format('Y-m-d H:i:s'); // will return 2010-11-01 12:00:00
$formatedDate = $d->format('m-d-Y h:i A'); // will return 11-01-2010 12:00 PM