這篇文章繼續我對與所謂的“猶太時代”(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 庫的本質。
讓時間變得美好
在上一篇文章中 ,我們留下了這段代碼:
?
產生的結果如下所示: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。
- 利用庫本身未內置的內置天文學函數進行時間計算。
我希望你能和我一起繼續這段旅程。一如既往,如果您有疑問、意見或榮譽,請在評論中留下。