PHP解析日期字符串

10 php parsing date

如果我有一个日期字符串:

$date = "08/20/2009";
Run Code Online (Sandbox Code Playgroud)

我想分开日期的每一部分:

$m = "08";
$d = "20";
$y = "2009";
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

我应该使用特殊日期功能吗?或者是其他东西?

谢谢!

Dou*_*ays 18

一种方法是这样做:

$time = strtotime($date);
$m = date('m', $time);
$d = date('d', $time);
$y = date('Y', $time);
Run Code Online (Sandbox Code Playgroud)

  • 由于时间戳约束,Strtotime并不总是有效.假设您要解析第一次世界大战,则无法将28/08/1914转换为有效时间戳. (4认同)

Dom*_*ger 14

explode 会做的伎俩:

$pieces = explode("/", $date);
$d = $pieces[1];
$m = $pieces[0];
$y = $pieces[2];
Run Code Online (Sandbox Code Playgroud)

或者,你可以在一行中做到这一点(见评论 - 谢谢Lucky):

list($m, $d, $y) = explode("/", $date);
Run Code Online (Sandbox Code Playgroud)

  • list($ m,$ d,$ y)= explode("/",$ date); (5认同)

小智 6

查看PHP的date_parse函数.除非您确定输入将始终采用一致的格式,并且您首先对其进行验证,但它更稳定,更灵活(更不用说更容易),让PHP尝试为您解析格式.

例如

<?php
//Both inputs should return the same Month-Day-Year
print_r(date_parse("2012-1-12 51:00:00.5"));
print_r(date_parse("1/12/2012"));
?>
Run Code Online (Sandbox Code Playgroud)