PHP strtotime() 函数接受某种格式?
如果您可以为 PHP 中的 strtotime()
提供它可以理解并可以转换的日期格式,它会非常有效,但是例如您给它一个英国日期,它无法给出正确的 unix 时间戳。
是否有任何官方或非官方的 PHP 函数可以接受格式变量,该变量告诉函数以哪种格式传递日期和时间?
我最接近这样做的是 date_parse_from_format()
和 mktime()
的混合
// Example usage of the function I'm after
//Like the date() function but in reverse
$timestamp = strtotimeformat("03/05/2011 16:33:00", "d/m/Y H:i:s");
strtotime()
in PHP works great if you can provide it with a date format it understands and can convert, but for example you give it a UK date it fails to give the correct unix timestamp.
Is there any PHP function, official or unofficial, that can accept a format variable that tells the function in which format the date and time is being passed?
The closest I have come to doing this is a mixture of date_parse_from_format()
and mktime()
// Example usage of the function I'm after
//Like the date() function but in reverse
$timestamp = strtotimeformat("03/05/2011 16:33:00", "d/m/Y H:i:s");
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您有 PHP 5.3:
If you have PHP 5.3:
我认为您正在寻找 strptime 。您可以使用它来解析日期,然后如果需要 UNIX 时间戳,请使用 mktime 。
这适用于 PHP 5.1 及更高版本。
You are looking for strptime, I think. you can use it to parse the date and then use mktime if you need a UNIX timestamp.
This will work with PHP 5.1 and onwards.
当使用
/
作为分隔符时,strtotime
假定它是美国日期/时间。要让它认为它是欧元日期/时间,请使用-
或.
作为日期分隔符。您可以使用简单的str_replace()
将/
更改为-
或.
strtotime
assumes it's a US date/time when using/
as the separator. To get it to think it's a Euro date/time, use-
or.
as the date separator. You can change the/
s to-
s or.
s with a simplestr_replace()