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

Php 将数字月份转换为纹理表示时出错,php,Php,我在php中使用以下代码将月份的数字表示转换为纹理表示 date('M',strtotime(8)); 但对于每个数字,我的月份都是'Dec' 我应该如何使它工作 多谢各位 泽山 但对于每个数字,我的月份都是'Dec' 这并不奇怪:strotime(8)将为您提供0——即1970年1月1日,UTC 0:00,在您的本地时区(当时还是12月) 你可以用 $month = 8; date("M", strtotime("1970-$month-01")); (1970年的完全不相关——可能是任何

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

date('M',strtotime(8));
但对于每个数字,我的月份都是'Dec'

我应该如何使它工作

多谢各位 泽山

但对于每个数字,我的月份都是'Dec'

这并不奇怪:
strotime(8)
将为您提供
0
——即1970年1月1日,UTC 0:00,在您的本地时区(当时还是12月)

你可以用

$month = 8;
date("M", strtotime("1970-$month-01"));
(1970年的完全不相关——可能是任何一年。)

或者,使用nikic所示的
mktime()

但对于每个数字,我的月份都是'Dec'

这并不奇怪:
strotime(8)
将为您提供
0
——即1970年1月1日,UTC 0:00,在您的本地时区(当时还是12月)

你可以用

$month = 8;
date("M", strtotime("1970-$month-01"));
(1970年的
完全不相关——可能是任何一年。)


或者,使用nikic所示的
mktime()

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

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

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

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