从php中的日期检索日期,月份,年份

时间:2012-09-25 14:22:58

标签: php

我有这段代码从数据库中获取一个字段:

$end_date=$row1['end_date'];

如果我打印它会给我类似的东西:25-09-2012 我需要的是获得月份值,年份和日期。 类似的东西:

$month=09;
$day=25;
$year=2012;

我该怎么做? 谢谢!

7 个答案:

答案 0 :(得分:4)

使用DateTime

$date = new DateTime($row1['end_date']);
$year = $date -> format('Y');
$month = $date -> format('m');
$day = $date -> format('d');

如果您的时间戳与提供的时间戳完全相同,请保持简单:

list($day, $month, $year) = explode('-', $row1['end_date']);

答案 1 :(得分:2)

在您的情况下,您可以使用explode功能,如下所示:

// store a string containing "25-09-2012"
$end_date = $row1['end_date'];

// split "25-09-2012" into an array of three elements
$thedate = explode("-", $end_date);

// retrieve the values
$month = $thedate[0]; // 25
$day = $thedate[1]; // 09
$year = $thedate[2]; // 2012

答案 2 :(得分:1)

[month('end_date')] [day('end_date')] [year('end_date')]

或使用explode并使用 - 作为分隔符

答案 3 :(得分:1)

在这个有用的教程中找到一个高峰,描述PHP中的各种格式化方法和有用的日期函数:

Date/Time Functions

Date Formats

答案 4 :(得分:1)

$values = getdate(strtotime($row1['end_date']));
echo $values['mon']; //month
echo $values['mday']; //day
echo $values['year']; //year

答案 5 :(得分:1)

一个。您可以使用DateTime

$date = DateTime::createFromFormat('d-m-Y',$row1['end_date']);
$month = $date->format("m");
$day = $date->format("d");
$year = $date->format("Y");

B中。使用strtotime

$date = strtotime($row1['end_date']);
$month = date("m", $date);
$day = date("d", $date);
$year = date("Y", $date);

℃。您只需sscanf扫描字符串

即可
$date = sscanf($row1['end_date'], "%d-%d-%d");
$month = $date[0] ;
$day =  $date[1] ;
$year =  $date[2] ;

d。另一种方法是使用list& explode

list($day, $month, $year) = explode('-', $row1['end_date']);

答案 6 :(得分:1)

在一行上进行,然后根据需要对其进行格式化。 (12月,12月,12日)等等,日期()。

list($month, $day, $year) = explode('-', date('m-d-Y', strtotime($row1['end_date'])));