2011-02-10 99 views
0

我已保存的日期时间在MySQL从教程为: 2011-02-10 1时21分39秒日期时间存储

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

+1

`select year(date)from`for year,并且有mysql函数分开取回所有东西 – 2011-02-10 17:58:49

+0

这个已经被一次又一次地覆盖了,差不多完全一样。 – Andy 2011-02-10 18:01:20

+0

@nalroff如果你不打算链接到一个重复的问题,那么不要抱怨 - 这没有帮助。 :-) – 2011-02-10 18:08:52

回答

4

查看strtotime()函数。这会将您的日期字符串转换为时间戳。然后使用date()拉出您需要的部分:

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

使用php的date()。你可以格式化你的需要。 date()

4

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

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

将返回

+---------------+ 
| 2011 | 2 | 10 | 
+---------------+ 
当然

,如果你想要做datemath在PHP中,这将会是更好的选择日期作为UNIX_TIMESTAMP从MySQL,它返回时间(秒)从一月1/1970,你可以直接输入PHP的日期系统;

SELECT UNIX_TIMESTAMP(datefield) ... 

$timestamp = mysql_fetch(...) 

$date = date($timestamp); 
2

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

围棋与@Marc's Solution如果通过MySQL的结果循环设置

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功能的更多信息。

0

date($format, strtotime($yourStringFromDB))看到PHP docs的格式字符串。

0
SELECT * FROM Dates 
WHERE Date LIKE '%02%' 
相关问题