Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将月份编号转换为月份名称_Php_Date - Fatal编程技术网

Php 将月份编号转换为月份名称

Php 将月份编号转换为月份名称,php,date,Php,Date,我想将月份号转换为月份名称。我尝试了以下代码: A. $month = 01; $monthName = date("M", mktime(0, 0, 0, $month); $month = 01; $monthName = date("M", mktime(0, 0, 0, $month, 10)); $month = 01; $monthName = date("M", mktime(0, 0, 0, $month, 1, 2015)); B. $month = 01; $m

我想将月份号转换为月份名称。我尝试了以下代码:

A.

$month = 01;
$monthName = date("M", mktime(0, 0, 0, $month);
$month = 01;
$monthName = date("M", mktime(0, 0, 0, $month, 10));
$month = 01;
$monthName = date("M", mktime(0, 0, 0, $month, 1, 2015));    
B.

$month = 01;
$monthName = date("M", mktime(0, 0, 0, $month);
$month = 01;
$monthName = date("M", mktime(0, 0, 0, $month, 10));
$month = 01;
$monthName = date("M", mktime(0, 0, 0, $month, 1, 2015));    
C.

$month = 01;
$monthName = date("M", mktime(0, 0, 0, $month);
$month = 01;
$monthName = date("M", mktime(0, 0, 0, $month, 10));
$month = 01;
$monthName = date("M", mktime(0, 0, 0, $month, 1, 2015));    
以下是我的问题:

(1) 它们执行相同的输出吗?我应该选择哪一个

(2) 我不明白$month变量后面的10。这意味着什么


(3) 除A、B、C之外,将月号转换为月名的任何其他方法?

不使用
mktme
,请使用
date()

如果您有日期并且希望提取月份灾祸,请使用
strrtoime()
date()


它们执行相同的输出吗?

function getShortMonthNameByNumber($monthNum)
    switch ($monthNum) {
        case 1:
            return "Jan";
        case 2:
            return "Feb";
        case 3:
            return "Mar";
        // etc
    }
大多数日子,是的。但是,如果当前日期是31天,并且
$month
是30天的月份,
a
将返回下一个月。当然,二月也有问题

我应该选择哪一个?

function getShortMonthNameByNumber($monthNum)
    switch ($monthNum) {
        case 1:
            return "Jan";
        case 2:
            return "Feb";
        case 3:
            return "Mar";
        // etc
    }
  • A
    是错误的
  • B
    还可以(不过我会使用
    1
    而不是
    10
  • C
    太多了
选择
B

$month
变量之后的
10
是什么意思?

function getShortMonthNameByNumber($monthNum)
    switch ($monthNum) {
        case 1:
            return "Jan";
        case 2:
            return "Feb";
        case 3:
            return "Mar";
        // etc
    }
它是您使用
mktime()
创建的日期的月份中的一天。如果您不考虑它,PHP假定您想要与当月的当前日期相同的日期。这就是为什么
A
是错误的(上面描述的bug)

还有其他方法吗?

function getShortMonthNameByNumber($monthNum)
    switch ($monthNum) {
        case 1:
            return "Jan";
        case 2:
            return "Feb";
        case 3:
            return "Mar";
        // etc
    }
不过,我还是坚持使用
B

您的代码使用
date(“M”)
,它返回月份的短名称(
Jan
Feb
等)。如果您想要全名(
一月
二月
等),请使用
“F”
而不是
“M”


注意:从不在源代码中写入带前导零的数字。在您的示例中,
$month=08
$month=09
会使脚本爆炸