Calendar 函数
在线手册:中文 英文
PHP手册

JDMonthName

(PHP 4, PHP 5)

JDMonthName返回月份的名称

说明

string jdmonthname ( int $julianday , int $mode )

返回一个月份名称的字符串,mode参数指定使用哪种历法和月份名称的形式。

Calendar modes
Mode Meaning Values
0 Gregorian - abbreviated Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
1 Gregorian January, February, March, April, May, June, July, August, September, October, November, December
2 Julian - abbreviated Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
3 Julian January, February, March, April, May, June, July, August, September, October, November, December
4 Jewish Tishri, Heshvan, Kislev, Tevet, Shevat, AdarI, AdarII, Nisan, Iyyar, Sivan, Tammuz, Av, Elul
5 French Republican Vendemiaire, Brumaire, Frimaire, Nivose, Pluviose, Ventose, Germinal, Floreal, Prairial, Messidor, Thermidor, Fructidor, Extra

参数

jday

用来计算的julian天数

calendar

历法的月份的名字

返回值

根据指定的julian天数和calendar历法参数而得到月份的名称。


Calendar 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: 返回月份的名称

用户评论:

viju dot kantah at gmail dot com (21-Nov-2011 06:34)

<?php

/* Simple way to get current month name */

$mons = array(1 => "Jan", 2 => "Feb", 3 => "Mar", 4 => "Apr", 5 => "May", 6 => "Jun", 7 => "Jul", 8 => "Aug", 9 => "Sep", 10 => "Oct", 11 => "Nov", 12 => "Dec");

$date = getdate();
$month = $date['mon'];

$month_name = $mons[$month];

echo
$month_name; // Displays the current month

?>

asphp at dsgml dot com (17-Apr-2011 10:58)

Use this function if you prefer to use the standard calendar constants:

<?php
function jdmonthname2($julianday, $calendar, $abbrev = false) {
  if(
$calendar == CAL_GREGORIAN && $abbrev) $mode = 0;
  elseif(
$calendar == CAL_GREGORIAN && !$abbrev) $mode = 1;
  elseif(
$calendar == CAL_JULIAN && $abbrev) $mode = 2;
  elseif(
$calendar == CAL_JULIAN && !$abbrev) $mode = 3;
  elseif(
$calendar == CAL_JEWISH) $mode = 4;
  elseif(
$calendar == CAL_FRENCH) $mode = 5;
  else
$mode = 10; //use an invalid mode and let the underlying function handle it

 
return jdmonthname($julianday, $mode);
}
?>

ukarmakar at gmail dot com (29-Dec-2009 07:40)

You can get the month name by passing the month integer value to a simple function....

<?php
function getMonthName($Month){
   
$strTime=mktime(1,1,1,$Month,1,date("Y"));
    return
date("F",$strTime);
}
echo
getMonthName(10);
?>

Output:
October

Shai (24-Sep-2005 11:12)

YIQV, this should correct your issue with Adar being displayed as AdarI:

<?php

// assuming that $jewish_month is the Jewish month,
// and $jewish_year is the Jewish year,
// you can use this script to replace 'Adar I' with 'Adar' when it is not a leap year.
// this is because a Jewish leap year occurs every 3rd, 6th, 8th, 11th, 14th, 17th, and 19th year.

if(    $jewish_month == "AdarI" &&
   
$jewish_year%19 != 0 &&
   
$jewish_year%19 != 3 &&
   
$jewish_year%19 != 6 &&
   
$jewish_year%19 != 8 &&
   
$jewish_year%19 != 11 &&
   
$jewish_year%19 != 14 &&
   
$jewish_year%19 != 17
) {

   
$jewish_month = "Adar";

}

?>

YIQV (30-Jan-2005 06:47)

I am finding an inconsistency in the Jewish month Adar. The function always returns AdarI regardless of whether the year is a jewish leapyear. The month is known as Adar (not AdarI) in non-leap years. Also when using function jdtojewish with bool hebrew set to true it always returns (ADR) and not (ADR A) when it's a leap year. AdarII in Hebrew and English seems to work properly.