jdtojewish

(PHP 4, PHP 5, PHP 7)

jdtojewish转换一个julian天数为Jewish历法的日期

说明

string jdtojewish ( int $juliandaycount [, bool $hebrew = false [, int $fl = 0 ]] )

转换一个julian天数为Jewish历法的日期。

参数

julianday

一个julian天数

hebrew

如果参数 hebrew设置为 TRUE,参数fl可用于希伯莱语的格式。

fl

可用的格式有: CAL_JEWISH_ADD_ALAFIM_GERESH, CAL_JEWISH_ADD_ALAFIM, CAL_JEWISH_ADD_GERESHAYIM.

返回值

以"月/日/年"的格式显示jewish日期。

更新日志

版本 说明
5.0.0 增加了参数 fl
4.3.0 增加了参数 hebrew

范例

Example #1 jdtojewish() Example

<?php
echo jdtojewish(gregoriantojd(1082002), true,
       
CAL_JEWISH_ADD_GERESHAYIM CAL_JEWISH_ADD_ALAFIM CAL_JEWISH_ADD_ALAFIM_GERESH); 
?>

参见

  • jewishtojd() - 转变一个Jewish历法的日期为一个Julian Day计数
  • cal_from_jd() - 转换Julian Day计数到一个支持的历法。

User Contributed Notes

eclipsechasers2 at yahoo dot com 06-Jan-2015 09:34
With PHP 5.5, the functionality changed regarding Adar in a non-leap year. Prior to 5.5, the month was returned as 6. In 5.5 and 5.6, the month is returned as 7. This difference is not listed under "What has changed in PHP 5.5.x".
adam at tadam dot co dot il 23-Mar-2012 06:57
<?php
// Hebrew date in hebrew
$str = jdtojewish(gregoriantojd( date('m'), date('d'), date('Y')), true, CAL_JEWISH_ADD_GERESHAYIM + CAL_JEWISH_ADD_ALAFIM + CAL_JEWISH_ADD_ALAFIM_GERESH); // for today
$str1 = iconv ('WINDOWS-1255', 'UTF-8', $str); // convert to utf-8

echo $str1; // for 23/03/2012 will print: ?"? ??? ?' ????? ???"?

// or
$str = jdtojewish(gregoriantojd( date('m'), date('d'), date('Y')), true, CAL_JEWISH_ADD_GERESHAYIM); // for today
$str1 = iconv ('WINDOWS-1255', 'UTF-8', $str); // convert to utf-8

echo $str1; // for 23/03/2012 will print: ?"? ??? ????"?
?>
erelsgl at gmail dot com 30-Aug-2009 12:28
Sometimes it is useful to have the date in the format YYYY-MM-DD, which is sortable (e.g. you can sort dates by sorting the strings):

<?php
function JDToSortableJewish($jd) {
    return
       
preg_replace("|(\d+)/(\d+)/(\d+)|","$3-$1-$2"// year-month-day
       
preg_replace("|/(\d)/|","/0$1/", // add zeros to the day
       
preg_replace("|^(\d)/|","0$1/"// add zeros to the month
       
JDToJewish($jd))));
}
?>
erelsgl at gmail dot com 29-Aug-2009 11:01
In Hebrew leap years, the function will return 6 for Adar A, 7 for Adar B, 8 for Nisan, etc.

In Hebrew non-leap years, the function will return 6 for Adar, 8 for Nisan, etc.

i.e., the "real" Adar is Adar A.
asphp at dsgml dot com 28-May-2007 11:10
This function outputs in ISO-8859-8-l.

To convert to unicode UTF-8 do this:

<?php

echo mb_convert_encoding( jdtojewish( unixtojd(), true ), "UTF-8", "ISO-8859-8");

?>
gr8g0thamguy at yahoo dot com 01-Sep-2003 08:39
Based on the code already posted by Dave, I've modified it to display the *current* date on a page:

<?php

$gregorianMonth
= date(n);
$gregorianDay = date(j);
$gregorianYear = date(Y);

$jdDate = gregoriantojd($gregorianMonth,$gregorianDay,$gregorianYear);

$hebrewMonthName = jdmonthname($jdDate,4);

$hebrewDate = jdtojewish($jdDate);

list(
$hebrewMonth, $hebrewDay, $hebrewYear) = split('/',$hebrewDate);

echo
"$hebrewDay $hebrewMonthName $hebrewYear";
?>
dave_at_mitzvahweb.com 05-Mar-2002 01:04
There's probably a simpler way to do this, but I needed to convert a Gregorian date to a Hebrew one and display it with the Hebrew month name (not the number).

Perhaps it can help somebody...

<?php

//enter your Gregorian date with the variables $gregorianMonth, $gregorianDay, and $gregorianYear using the numerical representation of the month

$jdDate = gregoriantojd ( $gregorianMonth, $gregorianDay, $gregorianYear);

$gregorianMonthName = jdmonthname ( $jdDate, 1 );

$hebrewDate = jdtojewish ($jdDate);

list (
$hebrewMonth, $hebrewDay, $hebrewYear) = split ('/', $hebrewDate);

$hebrewMonthName = jdmonthname ( $jdDate, 4); 

 echo
"Your date in Hebrew would read: $hebrewDay $hebrewMonthName $hebrewYear";

?>