我已经四处寻找这个问题的简单解决方案,但我似乎无法找到一个。我所拥有的是一个充满时间戳日期的数据库,并希望能够提取所有年份并列出它们。例如,我在' date':
下面有以下数据2014-11-19 19:58:07
2015-10-14 18:58:05
2014-09-05 04:28:02
2014-10-01 05:58:00
2017-01-20 18:48:00
2014-03-20 07:58:00
并且只想打印以下内容(如果在数据库中,没有重复):
2014
2015
2017
非常感谢任何帮助,谢谢!
编辑:对不起我对此我很陌生"
$query="SELECT DISTINCT YEAR(date) FROM database;";
$result=mysql_query($query);
$numd=mysql_numrows($result);
echo $num;
并打印:
3
但我希望打印出来:
2014
2015
2017
由于
答案 0 :(得分:1)
您可以使用mysql YEAR
函数:
SELECT DISTINCT YEAR(date) FROM table_name;
while($row = mysql_fetch_row($result)) {
echo $row[0];
}
答案 1 :(得分:0)
SELECT YEAR(date) as myYear
FROM table
GROUP BY myYear
答案 2 :(得分:0)
如果您想在PHP中执行此操作,可以使用' strtotime'将字符串转换为日期。然后使用' date(" Y",$ time)'
获取年份$myDate = '2014-11-19 19:58:07';
$time = strtotime($myDate);
$year = date("Y", $time);
在这种情况下,$ year将等于2014
编辑:要存储多年而不让它们重复,您可以创建一个新数组,只有在它们不存在的情况下才能为该数组添加年数
if( !in_array($year, $array) )
#add the year to the array