2012-03-15 46 views
6

hi i am sử dụng PHP tôi muốn chuyển giá trị số nguyên (1-12) và nhận tên tháng tương ứng, có cách nào trong PHP để làm điều đó hay không tôi phải làm t của riêng tôi bằng cách khởi tạo một mảng tên tháng.có cách nào để lấy tên tháng bằng cách đưa ra một giá trị số nguyên PHP

tôi muốn làm như

$month_name = get_month_name(1); 

echo $month_name ; //echo january 

cảm ơn trước

Trả lời

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

Đơn giản và dễ thực hiện! – Rossco

4

Sử dụng mã này để có được tên tháng bằng cách đưa ra một giá trị số nguyên 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

tôi có thể làm điều này, tôi hỏi, có bất kỳ PHP được xây dựng trong các chức năng để làm điều này –

5

Một được xây dựng theo cách sẽ là

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

Tôi sẽ rất tuyệt nếu PHP có cách xây dựng tên ngày mà không tạo đối tượng ngày tháng.

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

Bạn có thể xây dựng một thời gian Unix (năm 1970) bằng cách nhân số tháng bởi số lượng trung bình giây trong một tháng (2.628.000) và lấy đi 15 ngày nên nó luôn luôn là ở đâu đó ở giữa của tháng . Vì vậy, đây hoạt động độc đáo và tránh chi phí không cần thiết:

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

Những ngày thực tế (nếu bạn thay thế 'd FY' cho 'F') thay đổi từ ngày 16 tháng 1 năm 1970 đến ngày 16 tháng 12 năm 1970 với $ i từ 1 đến 12. Bạn có thể thực hiện một mẹo tương tự để có được tên ngày (với 1 - 7 cho Thứ Hai - Chủ Nhật):

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

sử dụng hàm mktime() lấy yếu tố ngày làm tham số.

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

Output: tháng

Trong chức năng mktime(), các thông số là giờ, phút, giây, tháng, ngày, năm.

Để biết thêm thông tin, hãy kiểm tra http://php.net/manual/en/function.mktime.php

Các vấn đề liên quan