我试图从MySQL数据库中显示我的日期字段。
格式为2012-01-01至2012-01-31
有没有办法将1月份显示为0而不是1?
我使用strtotime来改变其格式
date('Y, n, j',strtotime($s['date']))
但显示
2012, 1, 1
我希望将其显示为
2012, 0, 1
答案 0 :(得分:3)
您可以随时执行以下操作:
$time = strtotime($s['date']);
$str = date('Y, ', $time);
$str .= intval(date('n', $time)) - 1;
$str .= date(', j', $time);
不确定这是最佳/唯一的方式,但它应该有效。
编辑:davidethell的观点,代码相应更改。评论为+1。
答案 1 :(得分:1)
如果您愿意,可以在SQL中执行此操作:
SELECT MONTH(my_date_col) - 1 AS custom_month_col;
否则我同意@Ynhockey
已编辑(见评论):
SELECT CONCAT(YEAR('2012-03-08'),'-', (MONTH('2012-03-08') - 1), '-', DAY('2012-03-08')) AS custom_month_col;
答案 2 :(得分:1)
或者您可以使用getdate()
代替date()
将日期作为数组返回,然后连接所需的值,例如。
<?php
$date = getDate(strtotime($s['date']));
echo $date['year'].', '.($date['mon']-1).', '.$date['mday'];
?>
答案 3 :(得分:0)
如果您只需要月份输出,这对我有用:
$month = intval(date('n',strtotime($result["Date"]))) - 1;
$ result [&#34; Date&#34;] 是调用从MySQL传递的值的方式。