将 m/d/Y 格式的日期字符串解析为 $m、$d 和 $y 变量
如果我有一个日期字符串:
$date = "08/20/2009";
我想分隔日期的每个部分:
$m = "08";
$d = "20";
$y = "2009";
我该怎么做?
我应该使用专用的日期函数吗?
If I've got a date string:
$date = "08/20/2009";
And I want to separate each part of the date:
$m = "08";
$d = "20";
$y = "2009";
How would I do so?
Is there a dedicated date function I should be using?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
一种方法是这样做:
One way would be to do this:
explode
可以解决这个问题:或者,您可以在一行(请参阅评论 - 感谢幸运):
explode
will do the trick for that:Alternatively, you could do it in one line (see comments - thanks Lucky):
查看 PHP 的 date_parse 函数。 除非您确定输入始终采用一致的格式,并且您首先验证它,否则它会更加稳定和灵活(更不用说更容易),让 PHP 尝试为您解析格式。
例如
Check out PHP's date_parse function. Unless you're sure input will always be in a consistent format, AND you validate it first, it is much more stable and flexible, (not to mention easier), to let PHP try to parse the format for you.
e.g.
如果您有给定的格式,则应该使用 date 对象。
请注意,您当然只能使用一次对 DateTime::format() 的调用。
If you have a given format you should use a date object.
Note you can certainly use only one call to DateTime::format().
总是这样吗? 或者它会是任何类型的文件格式?
尝试 strtotime。
就像是:
Is it always like that? Or will it be in any sort of file format?
Try strtotime.
Something like:
这个怎么样:
快速的一个班轮。
how about this:
A quick one liner.
对于国际化日期解析,请参阅 IntlDateFormatter::parse - http://php.net/manual/ en/intldateformatter.parse.php
例如:
For internationalized date parsing, see IntlDateFormatter::parse - http://php.net/manual/en/intldateformatter.parse.php
For example:
多米尼克的答案很好,但是如果日期始终采用相同的格式,您可以使用这个:
并且不必使用数组或爆炸
Bill H
Dominic's answer is good, but IF the date is ALWAYS in the same format you could use this:
and not have to use an array or explode
Bill H