2012-03-15 2 views
6

hi Я использую PHP. Я хочу передать целочисленное значение (1-12) и получить соответствующее имя месяца, есть ли способ в PHP для этого или я должен сделать это самостоятельно, инициализируя массив имен месяцев.есть способ получить имя месяца, задав целочисленное значение PHP

я хочу сделать, как

$month_name = get_month_name(1); 

echo $month_name ; //echo january 

заранее спасибо

ответ

20
echo date('F', strtotime("2012-$int-01")); 
+0

Простой и легко осуществить! – Rossco

4

Используйте этот код, чтобы получить название месяца, давая целое значение PHP

<?php 
    function get_month_name($inp) 
    { 
    return date("F", strtotime(date("d-$inp-y"))); 
    } 
    $month_name = get_month_name("1"); 
    echo $month_name; 
    ?> 
2
function get_month_name($month) 
{ 
    $months = array(
     1 => 'January', 
     2 => 'February', 
     3 => 'March', 
     4 => 'April', 
     5 => 'May', 
     6 => 'June', 
     7 => 'July', 
     8 => 'August', 
     9 => 'September', 
     10 => 'October', 
     11 => 'November', 
     12 => 'December' 
    ) 

    return $months[$month]; 
} 
+0

Я могу это сделать, я спросил, есть ли какие-либо PHP встроенные функции для этого –

5

другой встроенный способ будет

$monthInt = 3; 
$monthName = DateTime::createFromFormat('m', $monthInt)->format('F'); 

Было бы неплохо, если бы PHP имел встроенный способ получения имен дат без создания объекта даты.

1
$month = 1; //month in numeric 
echo date('F', mktime(0, 0, 0, $month, 10)); //print January 
0

Вы можете построить время Unix (в 1970 г.) путем умножения номер месяца на среднее количество секунд в месяц (2628000) и забирая 15 дней, так что всегда где-то в середине месяца , Так что это хорошо работает и позволяет избежать ненужных накладных расходов:

function month_name($i) { 
    return date('F', $i * 2628000 - 1314000); 
} 

Фактические даты (если заменить «d FY» для «F») изменяются от 16 января 1970 года по 16 декабря 1970 года за $ я от 1 до 12. Вы может сделать подобный трюк, чтобы получить названия дней недели (с 1 - 7 давая понедельник - воскресенье):

function day_name($i) { 
    return date('l', $i * 86400 + 302400); 
} 
0

использовать функцию указываете ей(), который принимает элементы даты в качестве параметров.

<?php 
$month_number= 3; 
$month_name = date("F", mktime(0, 0, 0, $month_number, 10)); 
echo $month_name; 
?> 

Выход: марта

В функции указываете ей(), параметры часы, минуты, секунды, месяц, день, год.

Для получения дополнительной информации обратитесь http://php.net/manual/en/function.mktime.php

Смежные вопросы