将数字月转换为纹理表示时出错

时间:2010-08-03 22:55:49

标签: php

我在php中使用以下代码将月份转换为数字表示。

date('M',strtotime(8));

但是对于每一个数字,我都将'Dec'作为我的月份。

我应该如何使它发挥作用。

谢谢 Zeeshan

2 个答案:

答案 0 :(得分:3)

  

但是对于每一个数字,我都将'Dec'作为我的月份。

毫不奇怪:strtotime(8)会给你0 - 那是1970年1月1日,0:00:00 UTC,在你当地的时区(那时它仍然是12月)。

您可以使用

$month = 8;
date("M", strtotime("1970-$month-01"));

1970完全不相关 - 可能是任何一年。)

或者,也许更漂亮,使用nikic所示的mktime()

答案 1 :(得分:2)

strtotime需要一个日期字符串,而不是一个月。您可以使用mktime创建月份:

 date('M', mktime(0, 0, 0, $month));