jdtojewish

(PHP 4, PHP 5, PHP 7, PHP 8)

jdtojewish将儒略日计数转换为希伯来历日期

描述

jdtojewish(int $julian_day, bool $hebrew = false, int $flags = 0): string

将儒略日计数转换为希伯来历。

参数

julian_day

儒略日数,以整数形式表示

hebrew

如果 hebrew 参数设置为 true,则 flags 参数用于希伯来语,ISO-8859-8 编码的字符串格式输出。

flags

一个位掩码,可以包含 CAL_JEWISH_ADD_ALAFIM_GERESHCAL_JEWISH_ADD_ALAFIMCAL_JEWISH_ADD_GERESHAYIM

返回值

希伯来历日期,以 "month/day/year" 的字符串形式表示,或者根据 hebrew 参数,以 ISO-8859-8 编码的希伯来语日期字符串表示。

示例

示例 #1 jdtojewish() 示例

<?php
$jd
= gregoriantojd(10, 8, 2002);
echo
jdtojewish($jd, true), PHP_EOL,
jdtojewish($jd, true, CAL_JEWISH_ADD_GERESHAYIM), PHP_EOL,
jdtojewish($jd, true, CAL_JEWISH_ADD_ALAFIM), PHP_EOL,
jdtojewish($jd, true,CAL_JEWISH_ADD_ALAFIM_GERESH), PHP_EOL;
?>

上面的示例将输出

ב חשון התשסג
ב' חשון התשס"ג
ב חשון ה אלפים תשסג
ב חשון ה'תשסג

参见

添加注释

用户贡献注释 10 条注释

adam at tadam dot co dot il
12 年前
<?php
// 希伯来语日期,以希伯来语表示
$str = jdtojewish(gregoriantojd( date('m'), date('d'), date('Y')), true, CAL_JEWISH_ADD_GERESHAYIM + CAL_JEWISH_ADD_ALAFIM + CAL_JEWISH_ADD_ALAFIM_GERESH); // 今天
$str1 = iconv ('WINDOWS-1255', 'UTF-8', $str); // 转换为 UTF-8

echo $str1; // 对于 23/03/2012,将打印:כ"ט אדר ה' אלפים תשע"ב

// 或者
$str = jdtojewish(gregoriantojd( date('m'), date('d'), date('Y')), true, CAL_JEWISH_ADD_GERESHAYIM); // 今天
$str1 = iconv ('WINDOWS-1255', 'UTF-8', $str); // 转换为 UTF-8

echo $str1; // 对于 23/03/2012,将打印:כ"ט אדר התשע"ב
?>
eclipsechasers2 at yahoo dot com
9 年前
在 PHP 5.5 中,关于非闰年的阿达月的功能发生了变化。在 5.5 之前,月份返回的是 6。在 5.5 和 5.6 中,月份返回的是 7。此差异未列在 "PHP 5.5.x 中的变化" 中。
asphp at dsgml dot com
17 年前
此函数以 ISO-8859-8-l 输出。

要转换为 unicode UTF-8,请执行以下操作

<?php

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

?>
Berel
4 年前
如果您希望将希伯来语日期格式化为这样(忽略括号):[כ"ז סיון ה'תשע"ה],因为三个位掩码都不包含此格式,您可以使用 CAL_JEWISH_ADD_GERESHAYIM 掩码,然后在第二行使用 ' 插入年份,如下所示

$hebdate = jdtojewish(gregoriantojd(6,14,2015),1,CAL_JEWISH_ADD_GERESHAYIM);
$hebdate = substr_replace($hebdate,"'",strrpos($hebdate," ")+2,0);
gr8g0thamguy at yahoo dot com
20 年前
基于 Dave 已经发布的代码,我修改了它,以便在页面上显示*当前*日期

<?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";
?>
erelsgl at gmail dot com
14 年前
在希伯来语闰年,此函数将返回 6 代表阿达月 A,7 代表阿达月 B,8 代表尼散月等等。

在希伯来语非闰年,此函数将返回 6 代表阿达月,8 代表尼散月等等。

也就是说,"真正的" 阿达月是阿达月 A。
dave_at_mitzvahweb.com
22 年前
可能有一种更简单的方法,但我需要将公历日期转换为希伯来日期,并使用希伯来月份名称(而不是数字)显示它。

也许它可以帮助某人...

<?php

// 使用月份的数字表示法输入您的公历日期,使用变量 $gregorianMonth、$gregorianDay 和 $gregorianYear

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

$gregorianMonthName = jdmonthname ( $jdDate, 1 );

$hebrewDate = jdtojewish ($jdDate);

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

$hebrewMonthName = jdmonthname ( $jdDate, 4);

echo
"您的希伯来日期为: $hebrewDay $hebrewMonthName $hebrewYear";

?>
WWW dot netfree at gmail dot com
5 年前
检查年份是否是闰年,以确定值 7 是 Adar 还是 Adar 2

<?php

$hebrewDate
= jdtojewish(gregoriantojd(date('m', $DateStamp), date('d', $DateStamp), date('Y', $DateStamp)));
list(
$hebrewMonth, $hebrewDay, $hebrewYear) = explode('/',$hebrewDate);

$m = array(3, 6, 8, 11, 14, 17, 19);
$meuberet = in_array(($hebrewYear % 19), $m);
if(
$meuberet) if($hebrewMonth == 7) $hebrewMonth = '7b'; // 这是 Adar 2
Sergio Z
2 年前
要检查犹太年份是否是闰年,请使用此函数

function isJewishLeapYear($year) {
return 0 != cal_days_in_month(CAL_JEWISH, 6, $year);
}

在非闰年,只有一个 Adar,它的编号为 7。没有 6。
erelsgl at gmail dot com
14 年前
有时需要以 YYYY-MM-DD 格式获取日期,该格式是可排序的(例如,您可以通过对字符串进行排序来对日期进行排序)

<?php
function JDToSortableJewish($jd) {
return
preg_replace("|(\d+)/(\d+)/(\d+)|","$3-$1-$2", // 年-月-日
preg_replace("|/(\d)/|","/0$1/", // 在日期中添加零
preg_replace("|^(\d)/|","0$1/", // 在月份中添加零
JDToJewish($jd))));
}
?>
To Top