存储的PHP日期时间

时间:2011-02-10 17:55:43

标签: php mysql

我已经在教程中将日期时间存储在mysql中: 2011-02-10 01:21:39

由此,我如何使用php提取单个元素? 说我只想要一年? 如果那不可能,甚至只是完整的日期?

9 个答案:

答案 0 :(得分:4)

为什么不直接从MySQL中选择元素?

select year(datefield), month(datefield), day(datefield) from yourtable

将返回

+---------------+
| 2011 | 2 | 10 |
+---------------+

当然,如果你想在PHP中做日期,最好从mysql中选择日期作为UNIX_TIMESTAMP,它从1970年1月1日开始返回时间,你可以直接输入PHP的日期系统;

SELECT UNIX_TIMESTAMP(datefield) ...

$timestamp = mysql_fetch(...)

$date = date($timestamp);

答案 1 :(得分:4)

请参阅strtotime()功能。这会将您的日期字符串转换为时间戳。然后使用date()提取您需要的部分:

$time = strtotime('a string containing some description of the time and date');
$year = date('Y', $time);

答案 2 :(得分:2)

你的意思是date('Y', strtotime('2011-02-10 01:21:39'));

如果要循环遍历MySQL结果集

,请使用@Marc's Solution

答案 3 :(得分:2)

您可以在查询中使用mysql的extract函数,如下所示:

SELECT EXTRACT(YEAR FROM yourDatefield) AS year,
       EXTRACT(MONTH FROM yourDatefield) AS month,
       EXTRACT(DAY FROM yourDatefield) AS day,
       EXTRACT(HOUR FROM yourDatefield) AS hour,
       EXTRACT(MINUTE FROM yourDatefield) AS minute,
       EXTRACT(SECOND FROM yourDatefield) AS second
FROM
       yourTable

查看extract功能以获取更多信息。

答案 4 :(得分:1)

使用php的date()。您可以根据需要格式化。 date()

答案 5 :(得分:1)

    <?php $original = $row['time']; 
$date = date_create($original); 
echo date_format($date, 'Y');?>

只需用您自己的变量替换$ original。 绝对检查php date() http://php.net/manual/en/function.date.php

答案 6 :(得分:1)

查看MySQL的Date and Time Functions

例如,你可以:

SELECT YEAR(DateColumn) FROM YourTable

答案 7 :(得分:0)

date($format, strtotime($yourStringFromDB))请参阅PHP docs了解格式字符串。

答案 8 :(得分:0)

SELECT * FROM Dates
WHERE Date LIKE '%02%'