PHP中Months的数字值

时间:2012-03-08 09:08:54

标签: php mysql

我试图从MySQL数据库中显示我的日期字段。

格式为2012-01-01至2012-01-31

有没有办法将1月份显示为0而不是1?

我使用strtotime来改变其格式

date('Y, n, j',strtotime($s['date']))

但显示

2012, 1, 1

我希望将其显示为

2012, 0, 1

4 个答案:

答案 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传递的值的方式。