我已经在教程中将日期时间存储在mysql中: 2011-02-10 01:21:39
由此,我如何使用php提取单个元素? 说我只想要一年? 如果那不可能,甚至只是完整的日期?
答案 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)
答案 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)
答案 7 :(得分:0)
date($format, strtotime($yourStringFromDB))
请参阅PHP docs
了解格式字符串。
答案 8 :(得分:0)
SELECT * FROM Dates
WHERE Date LIKE '%02%'