这篇文章继续我对与所谓的“犹太时代”(zmanim)计算方式相关的概念和技术的探索;以及使用 PHP Zmanim 库 所需的技术 – 一个可让您轻松计算犹太时间的函数库。我再次对一些人表示深深的谢意,包括 Kosher Java 库 的创建者 Eliyahu Hershfeld、Zachary Weixelbaum(所有者) PHP Zmanim 库(Kosher Java 的一个端口)的作者,Elyahu Jacobi(他使用这些工具构建了 RoyZmanim.com,并耐心地解释了许多概念我)和 Maor Neim,他提供了将理论转化为实践的解释。

简介

在我的上一篇文章中 ,我探索了犹太时间计算 (zmanim) 的基本概念以及安装和使用 PHP Zmanim 所需的初始步骤。我们已经用该库计算了日出。

就其本身而言,这并不是特别令人印象深刻。事实上,使用相同的信息(纬度、经度、时区和特定日期),您可以使用 PHP 的内置函数获得相同的信息。

在这篇文章中,我们将讨论使用内置 PHP 工具无法进行的计算类型,不仅因为它们需要一些“有趣的”时间操作,而且因为有很多方法可以根据不同的拉比观点和传统计算相同的宗教重要时刻。

每个犹太人问题的答案都以“嗯,这取决于……”开头

让我花一点时间更详细地解释一下这个想法。

在上一篇文章中,我开始考虑这个想法:

黎明是地平线上可见光(但不是太阳)的时刻。不幸的是,“光”是否存在是非常主观的,因此它的计算方式在整个地图上都有所不同。

  • 一些传统在日出前或日落后使用固定的时钟分钟数。
  • 其他人会利用天文学来确定太阳低于地平线特定度数的时间。
  • 其他人会使用公式,例如将日光量(从日出到日落)分成 10 等份,然后从日出中减去该量或将其与日落相加。
  • 不过,其他人还是会在“平分”日(即春分或秋分,日照量和黑暗量完全相同)计算太阳在地平线以下的时间,计算差值(以时钟分钟为单位) )在该时间和日出之间,根据相关特定日期的“季节性分钟”(“sha’ot zmaniyot”)标准化这些分钟,最后从相关日期的日出中减去该时间(或将其添加到日落)。

一天中的某个时刻,但确定它的方法有很多种。

对于主流正统犹太教之外的人来说,这可能很难理解,并且绝对是完全不同类型的博客文章的主题,但答案是接受这样的理解:上述所有计算(以及许多其他计算)都是大写-T“True”。不仅仅是以一种“嗯,这就是我的感受,所以它对我来说是真实的”的方式,而且是绝对的、事实上的、经验上的真实,即使一种方法与另一种(或其他几种)方法相对立。

就像我说的,这是一篇完全不同的博客文章的主题。

现在,我提到这一点是为了解释为什么在创建 Kosher Java 库时,Eliyahu Hershfeld 采取了启用能够使用任何这些方法轻松计算时间,而不是尝试采用单一方法并专门为此进行编码。而移植 – 例如 Zachary Weixelbaum 的 PHP Zmanim 库 – 只需继续这个理想即可。

这让我们回到了使用 PHP Zmanim 库的本质。

让时间变得美好

在上一篇文章中 ,我们留下了这段代码:

PHP

 

sunrise; 回声“$日出\n”; ?>

产生的结果如下所示:
2024-12-20 07:48:52

它可以工作,但当我只是期待一个简单的“上午 7:48”时,这不是我想在页面上看到的内容。

这让我对 PHP Zmanim 库有了下一个有趣的见解:您可以使用另一个函数来格式化输出,而不是通过 PHP 的内置选项进行锤击。您仍将使用 PHP 时间/日期格式代码,但获得您想要的内容更容易。

假设我只想显示日出输出的小时、分钟和上午/下午。我会添加这样一行:

$sunrise = $zmanim->sunrise;
$sunrise = $sunrise->format('g:i a');

打印在屏幕上时看起来像这样:
7:48 am

获得您的第一个实际实时时间 – Mincha Gedola

使用日出/日落作为示例的问题在于 PHP 有内置选项可以执行完全相同的操作。因此,让我们看一下与犹太宗教时间更相关的时间:下午祈祷的最早时间 (Mincha Gedola)。

再一次,它有点虎头蛇尾,因为它是一个命令:

$gedolah = $zmanim->minchaGedola;

输出的时间如下:
2024-12-20 12:46:55

但是,正如我在本文前面提到的,有多种方法可以计算该时间。以下是 PHP Zmanim 库支持的所有方法:

  • minchaGedola:返回日出后 6.5 halachic 小时 (shaos zmaniyos) 的时间。
  • minchaGedola30Minutes:返回半天计算 (chatzot) 后 30 个标准(时钟)分钟的时间。
  • minchaGedola72Minutes:根据 Magen Avraham(Abraham Abele Gombiner,1635-1682)计算,一天从日出前 72 分钟开始,到日落后 72 分钟结束。
  • minchaGedola16Point1Degrees:根据 Magen Avraham 计算,一天的开始和结束时间为太阳低于地平线 16.1 度。
  • minchaGedolaAhavatShalom:根据Rabbi Yaakov Moshe Hillel的意见计算为半个季节性中午 (chatzos) 后的小时 (shaah) 和季节性分钟 (shaos zmaniyos) 根据一天从日出前 72 分钟开始到日落后 13.5 分钟结束计算。
  • minchaGedolaGreaterThan30:这是一种便捷方法,返回标准“minchaGedola”函数或“minchaGedola30Minutes”中的较晚者。在冬季,当季节性小时(sha’ah)的 1/2 小于 30 分钟时,将返回 minchaGedola30 分钟,否则将返回常规的 minchaGedola。
  • minchaGedolaAteretTorah:此方法返回根据 Magen Avraham 的 mincha ketana 时间,一天的开始和结束时间为太阳位于地平线以下 16.1 度的位置。
  • minchaGedolaBaalHatanya:此计算基于 Baal Hatanya 的意见
  • minchaGedolaBaalHatanyaGreaterThan30:这是一个返回 minchaGedolaBaalHatanya 或 minchaGedola30Minutes 中较晚者的便捷方法。在冬季,当季节小时 (sha’ah) 的 1/2 小于 30 分钟时,将返回 minchaGedola30Minutes,否则将返回 minchaGedolaBaalHatanya。
  • minchaGedolaGRAFixedLocalChatzos30Minutes:此方法返回基于 Rav Moshe Feinstein 意见的时间。

正如你所看到的,有很多观点。确定您想要/需要使用哪一个超出了本博客文章的范围,并且可能需要与应用程序或网站的用户以及拉比进行一些对话。或者两个。或几个。

但好消息是,要使用其中任何一个,都非常简单:

$gedolah = $zmanim->minchaGedola16Point1Degrees;
$gedolah = $gedolah->format('g:i a');

让事情变得复杂 – 夜幕降临(Tzais Hakochavim)

现在您已经了解了我们如何获得一次,您应该明白,即使我上一篇文章标记为“复杂”的时间也并不那么复杂。此外,它应该加深您对 PHP Zmanim 这样的工具有多么强大的理解,因为它使您能够在如此短的时间内完成任务。

计算夜幕降临 (tzais hakochavim) 就像命令一样简单
$tzais = $zmanim->tzais;

如果说有什么挑战的话,那就是需要考虑的变化数量之多。我在这里列出它们而不做任何解释,只是为了让您知道它们有多少。没错,一次有 32 种不同的计算选项。我在这里列出它们,没有详细解释,只是为了强调我的观点:

  • 柴斯
  • tzais72
  • tzaisGeonim3Point7Degrees
  • tzaisGeonim3Point8Degrees
  • tzaisGeonim5Point95Degrees
  • tzaisGeonim3Point65Degrees
  • tzaisGeonim3Point676度
  • tzaisGeonim4Point61Degrees
  • tzaisGeonim4Point37Degrees
  • tzaisGeonim5Point88Degrees
  • tzaisGeonim4Point8Degrees
  • tzaisGeonim6Point45Degrees
  • tzaisGeonim7Point083度
  • tzaisGeonim7Point67Degrees
  • tzaisGeonim8Point5Degrees
  • tzaisGeonim9Point3Degrees
  • tzaisGeonim9Point75Degrees
  • tzais60
  • tzaisAteretTorah
  • tzais72Zmanis
  • tzais90Zmanis
  • tzais96Zmanis
  • tzais90
  • tzais120
  • tzais120Zmanis
  • tzais16点1度
  • tzais26度
  • tzais18度
  • tzais19点8度
  • tzais96
  • tzaisBaalHatanya
  • tzais50

时间(和这个博客系列)继续前进

有了这篇文章中的信息,您只需浏览 Zachary 的 PHP Zmanim 上的主要自述文件,就可能取得不错的进展页面本身,并选择最佳的(适合您的目的)计算:

  • 日出和日落(不,不要唱那首歌
  • “季节性”时间(Sha’ah Zmanim)
  • 黎明 (alos hashachar)
  • 最早佩戴tallit和tefillin (misheyakir)的时间
  • 最晚说出 Shema (sof zman kria shema) 的时间
  • 最迟的晨祷时间 (sof zman tefillah)
  • 逾越节开始时
  • 一天过半(聊天)
  • 下午祈祷的最早时间(mincha gedola)
  • 下午祈祷(mincha ketana)的“最佳”时间
  • 下午祈祷的最晚时间(plag hamincha)
  • 点燃安息日蜡烛的时间
  • 黄昏 – 日落和夜晚之间的时间 (bain hashmashot)
  • 夜晚(tzais hakochavim)
  • 半夜(chatozs halayla)

但还有更多内容需要介绍。在接下来的文章中,我将讨论:

  • 采用这些标准时间并根据犹太教堂的特定需求进行调整(“Mincha 每天在 Shkia 之前 25 分钟开始”)。
  • 使用 PHP Zmanim 库显示非时间计算,例如每周的 Torah Portion、Rosh Chodesh 和 Molad。
  • 利用库本身未内置的内置天文学函数进行时间计算。

我希望你能和我一起继续这段旅程。一如既往,如果您有疑问、意见或荣誉,请在评论中留下。

Comments are closed.