嗨我正在使用PHP我希望传递一个整数值(1-12)并获得相应的月份名称,有没有办法在PHP中这样做或者我必须通过初始化一个月名称数组来做我自己的。
我想做
$month_name = get_month_name(1);
echo $month_name ; //echo january
提前致谢
答案 0 :(得分:20)
echo date('F', strtotime("2012-$int-01"));
答案 1 :(得分:5)
另一种内置方式是
$monthInt = 3;
$monthName = DateTime::createFromFormat('m', $monthInt)->format('F');
如果PHP有一个内置的方法来获取日期名称而不创建日期对象,我会很高兴。
答案 2 :(得分: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;
?>
答案 3 :(得分: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];
}
答案 4 :(得分:1)
$month = 1; //month in numeric
echo date('F', mktime(0, 0, 0, $month, 10)); //print January
答案 5 :(得分:0)
您可以通过将月份数乘以一个月中的平均秒数(2628000)并取走15天来构建Unix时间(1970年),因此它总是在月中的某个位置。所以这很好用,避免了不必要的开销:
List<FilesData> filesList;
for (int i = 0; i < dataGridName.SelectedItems.Count; i++)
{
filesList.Add((FilesData)dataGridName.SelectedItems[i]);
}
实际日期(如果你用'F'代替'F')从1970年1月16日到1970年12月16日不等,$ i从1到12.你可以做类似的技巧来获得日名(1 - 7给出周一 - 周日):
function month_name($i) {
return date('F', $i * 2628000 - 1314000);
}
答案 6 :(得分:0)
使用函数mktime(),它将日期元素作为参数。
<?php
$month_number= 3;
$month_name = date("F", mktime(0, 0, 0, $month_number, 10));
echo $month_name;
?>
输出: 的三月强>
在函数mktime()中,参数为小时,分钟,秒,月,日,年。