-2

如何在php中获取日期的值?例如我有一个这样的日期:

$date = "2013-01-29";

我想要的是获取年月日并将其分配到一个变量中。

例子:

$year = "2013";

$month = "01";

$day = "29";

我怎样才能做到这一点?

4

5 回答 5

4

比@TobSpr 更多的OOP 方式将使用DateTime

$date = "2013-01-29";
$dt = new DateTime($date);

echo $dt->format('Y');

这样做的好处是我们可以完全控制日期,我们甚至可以指定特定的时区,处理格式错误的输入日期字符串(DateTime __construct 将在不可解析的输入上抛出异常)

$date = "2013-01-29 invalid";
try {
    $dt = new DateTime($date);
    echo $dt->format('Y');
} catch (Exception $e) {
    printf('Failed to decode input date "%s", PHP said: %s', $date, $e->getMessage());
}

有关您可以发送到的信息DateTime::format,请参阅日期

于 2013-08-12T09:01:43.697 回答
1
$date = new DateTime('2013-01-29');
echo $date->format("Y");
echo $date->format("m");
echo $date->format("d");
于 2013-08-12T09:03:20.357 回答
0

使用strtotime(),它将各种格式的字符串转换为日期。它可以检测各种格式的日期:

$date_unix = strtotime($date);
$year = date("Y", $date_unix);
$month = date("m", $date_unix);
$day = date("d", $date_unix);

另请参阅date()以获取所有修饰符的列表。

于 2013-08-12T09:01:09.193 回答
-2

in php you can do it in following way $date=" 2013-01-29"; $tem=explode("-",$date); $year=$tem[0]; $month=$temp[1]; $day=$temp[2];

于 2013-08-12T09:14:05.390 回答
-2

简单的

$newdate=explode("-",$date);
$day=$newdate[2];
$month=$newdate[1];
$year=$newdate[0];
于 2013-08-12T09:01:43.317 回答