时间数据系列:故事的其余部分

时间数据系列:故事的其余部分

时间数据系列:故事的其余部分 – adatosystems

自从我写有关 php zmanim 的文章以来已经有一段时间了——我用它所做的工作以及我在实现它时学到的东西。但尽管耽误了时间,我始终打算继续谈话。这就是我们今天要做的

在我的第一篇文章中,我解释了如何安装和开始使用 php zmanim 库。然后在下一篇文章中,我深入研究了计算更复杂的时间以及该工具的真正威力——将最常见的拉比观点应用于各种 zmanim。我将从上次停下的地方继续,尽量减少重叠,因此,如果您需要花一点时间加快速度,我已链接到之前的帖子。

今天的目标是探索 php zmanim 的使用,超越相对简单的库使用。其中包括:

制定标准时间并根据犹太教堂的特定用例进行调整(“mincha 每天在 shkia 之前 25 分钟开始”)。 使用 php zmanim 库函数和方法提供非时间计算 – 例如每周托拉部分、希伯来日期以及指定日期是否为假期(如 rosh chodesh 或 sukkot)。

致谢

首先需要再次向那些使这一切成为可能的人们表示感谢。在一长串名字中最重要的是 zachary weixelbaum,他是 php zmanim 库本身的维护者;和 eliyahu hershfeld:php zmanim 所基于的 kosher java 库的创建者。

快速回顾

当我们停止时,我们有一个可靠的基本 php 脚本:

设置位置变量(纬度/经度),以及时区和海拔。 设置日期 从这些变量创建一个 php zmanim 对象 使用内置方法计算从日出到 mincha 到 tzeit hakochavim 的时间

它看起来像这样:

sunrise;echo "$sunrisen";?>

但日出只是开始。使用任何内置计算(在 github 自述文件页面上进行了描述),您可以拉取多种时间。例如,要让 mincha gedola 使用特定的拉比意见,我可以包括:

$gedolah = $zmanim->minchagedola16point1degrees

在上一篇博客中,我还介绍了使用 php zmanim 的格式方法使输出更具可读性的方法:

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

“加盐调味”——调整时间

对于那些不花很多时间在犹太教堂的人(没有责备,没有羞耻,这里仍然欢迎你),这可能并不明显,但是 – 尽管有 zman 的名字 – 很少有组织为 mincha 祈祷(下午祈祷)在 mincha ketana、mincha gedola 或 plag hamincha。

事实上,很多关于计算时间的工作与直接的“mincha gedola 现在几点了?”关系不大。以及“我们可以在一天中多晚合理安排mincha,以便每个人下班后都有时间到达这里;但也不能太晚以至于没有人来,因为他们会错过晚餐?”

如果这太理论化,请允许我分享我的犹太教堂在设置每周时间表时考虑的逻辑叠叠乐:

周五晚上蜡烛点燃:shkia(日落)减去18分钟 夏季星期五 mincha:plag hamincha(使用“plaghaminchaaterettorah”)减去 20 分钟 冬季星期五 mincha:shkia(日落)减去 22 分钟 周六 mincha:shkia 减 40 分钟 周六 ma’ariv:shkia 加 50 分钟 周六安息日结束:shkia 加 45 分钟 weekday mincha:找到本周最早的 shkia,然后减去 17 分钟

虽然我在早期博客中介绍的所有其他时间仍然很重要,但希望您开始意识到它们并不像人们想象的那么重要。

那么如何计算时间(例如 shkia/日落),然后添加或减去分钟?我们将从之前的相同脚本开始:

<?phprequire 'vendor/autoload.php';use phpzmanimzmanim;use phpzmanimcalendarcomplexzmanimcalendar;use phpzmanimgeogeolocation;# set variables:$locname = "beit knesset chochmat shlomo, beachwood, oh";$lat = 41.4939407;$long = -81.516709;$elev = 0;$tz = 'america/new_york';$getyear = 2024;$getday = 20;$getmonth = 12;$testzmanim = zmanim::create($getyear, $getmonth, $getday, $locname, $lat, $long, $elev, $tz);

为此,我们将添加代码以获取日落:

$sunset = $zmanim->sunset;

然后我们减去 18 分钟即可得到蜡烛点亮时间:

$candles = date('g:i a', strtotime($sunset . " -18 minutes"));

没错。你只需使用 php 自己的字符串时间函数即可。如果我让你保持悬念,我很抱歉。但这真的就是这么简单。

托拉部分是什么?希伯来日期是哪一天? rosh chodesh 什么时候上映?

(……以及您的犹太教堂内和周围经常提出的其他基本但令人烦恼的问题。)

除了日期计算之外,kosherjava 库(以及 php zmanim 库)还具有快速提供上述信息的方法和函数。

首先要了解的是,到目前为止我们一直在使用的 php zmanim 对象是一个 zmanim 对象 – 一个具有特定日期的一组特定时间的对象。对于涉及日期本身的事情,我们实例化一个 jewishcalendar 对象。好消息是它的创建要容易得多。您所需要的只是年、月、日。

<?phprequire 'vendor/autoload.php';use phpzmanimzmanim;use phpzmanimcalendarcomplexzmanimcalendar;use phpzmanimgeogeolocation;# set variables:$getyear = 2024;$getday = 21;$getmonth = 09;$jewishcalendar = zmanim::jewishcalendar(carbon::createfromdate($getyear, $getmonth, $getday));

我们现在有一个 jewishcalendar 对象可以使用,并且可以使用与我们多次发现的方法类似的方法。例如:假设我们选择的日期是星期六,我们可以得到托拉部分:

$format = zmanim::format();$parshaeng = json_decode('"' . $format->formatparsha($jewishcalendar) . '"');

(暂时忽略 $format 设置。我们稍后会深入研究它)。

如果你运行该代码,$parshaeng 会给你:

parshas ki savo

您会注意到我们不需要提供纬度、经度、时区等。我必须强调的是,仅此功能(获取日期、托拉部分等的能力)就使 php zmanim 库变得有用一切都靠它自己,即使没有时间计算。 

我能得到希伯来语版本吗?

托拉部分?当然!这就是 $format 行的用武之地。

首先解释一下它是什么:它是一个修改 zmanim 和 jewishcalendar 等对象的方法,设置显示和输出选项。  在没有任何其他信息的情况下设置 zmanim::format() 默认为英语。但随后您可以通过以下附加行告诉系统您需要希伯来语:

$format->sethebrewformat(true)

现在,如果你运行相同的 json_decode(‘”‘ . $format->formatparsha($jewishcalendar) . ‘”‘) 行,你会得到:

כי תבוא

把它们放在一起:

formatparsha($jewishcalendar) . '"');$format->sethebrewformat(true);$parshaheb = json_decode('"' . $format->formatparsha($jewishcalendar) . '"');echo "$parshaheb - $parshaengn";

这将显示:כй תבוא – ki savo

今天星期几?

更具体地说,今天是希伯来语的哪一天?

与前面的示例一样,我们从 jewishcalendar 和格式对象开始

$jewishcalendar = zmanim::jewishcalendar(carbon::createfromdate($theyear, $themonth, $theday));$format = zmanim::format();

然后我们添加同一行将格式设置为希伯来语。

$format->sethebrewformat(true);

最后(相当简单)我们要求一个直接的日历对象输出:

$zmandate = json_decode('"' . $format->format($jewishcalendar) . '"');

这就是您所需要的。结果是这样的:

17 elul, 5784

是的,即使我们指定了 sethebrewformat,它还是以英语显示。

我能得到实际的希伯来语版本吗?

为了让希伯来语日期完全以希伯来语显示(包括单词和字母),我们调用一个稍微不同的方法,称为希伯来语日期格式器(hebrewdateformatter)。假设(再次)您设置了初始变量并创建了一个 jewishcalendar 对象,输出希伯来语日期的代码将是:

$hebformat = hebrewdateformatter::create();$hebformat->sethebrewformat(true);$hebdate = json_decode('"' . $hebformat->format($jewishcalendar) . '"');print("hebrew date: $hebdaten");

这会给你:

hebrew date: י״ח אלול תשפ״ד

今天是吗?

有时您需要检查特定日期是否是……嗯,特定的一天。例如 rosh chodesh(新的一个月)或多日假期的一部分(例如住棚节)。

事实证明,php zmanim 方法使这变得非常简单。假设您以与其他示例相同的方式开始,

一旦你设置了 jewishcalendar 对象,它就像
一样简单

$jewishCalendar->isRoshHashana();$jewishCalendar->isSuccos(); 

如果日期与假期匹配,它将返回“true”,您可以继续执行您想要的任何逻辑或过程,例如显示(或不显示)日期。

那么下一步是什么?

无论你相信与否,还有更多内容需要介绍。在接下来的几周内,每当我接触到它时,我都会介绍如何利用内置天文学函数进行时间计算。不管你相信与否,对于安息日和假期以及其他纪念活动的开始和结束等事情来说,拥有真正准确的时间确实很重要。

同时,如果您还有其他想要听我介绍的内容;或者,如果您有疑问、更正或荣誉,请随时将其留在下面的评论中。

以上就是时间数据系列:故事的其余部分的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1248325.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月9日 20:24:32
下一篇 2025年12月8日 11:06:08

相关推荐

  • php函数日志记录日志分析方法问题解答

    php 中的 error_log() 函数用于记录错误信息。它接受两个参数:要记录的消息和一个整数标志,用于指定消息的级别和处理方式。日志级别从 0(标准消息)到 4(异常)。用户可以实时查看日志文件,使用 tail -f 命令。为了避免日志文件过大,可以考虑使用轮转机制或定期清理过时的日志文件。如…

    2025年12月9日
    000
  • 如何在 PHP 函数中记录异常?

    在 php 函数中记录异常有两种方法:使用 try-catch 块捕获异常,并在 catch 块中处理它们。使用日志记录库记录异常,例如 monolog 或符合 psr-3 标准的库。 如何在 PHP 函数中记录异常? 异常是 PHP 中用来处理错误和异常情况的机制。在函数中记录异常可以确保即使在意…

    2025年12月9日
    000
  • 小型 Swoole 实体管理器

    我很高兴向大家介绍 Small Swoole Entity Manager。 它是一个围绕 Swoole(和 OpenSwoole)构建的 ORM。 它支持异步连接到: MySQLPostgres小型 Swoole Db(Swoole Tables 之上的关系层) 目前仅提供核心包; Symfony…

    2025年12月9日
    000
  • 来认识一下 phpvm:您的新 PHP 永远最好的朋友!

    你们好,php 爱好者和版本杂耍忍者!您是否厌倦了 php 版本探戈?您知道吗,您不断地在 php 版本之间切换的速度比猫视频传播得还快?好吧,戴上你的派对帽子吧,因为我有一些令人兴奋的消息,这将使你的开发生活更轻松(我敢说,更有趣)! phpvm 简介:您梦想中的 php 版本管理器 想象一下:您…

    2025年12月9日
    000
  • 本地 SSL 根证书 (CA) 管理

    如何使用 servbay 设置本地 ssl 根证书 在现代网络环境中,SSL证书是保证数据传输安全的重要工具。对于开发人员和用户来说,管理本地 SSL 根证书 (CA) 是保护自定义服务和网站的关键步骤。本文将介绍如何在 macOS 上管理 ServBay 的本地 CA — ServBay Loca…

    2025年12月9日
    000
  • PHP 中的 Tailwind CSS 解析器需要帮助

    大家好, 我目前正在为我的一个项目开发一个 php 中的 tailwind css 解析器,其目的是在运行时解析 tailwind css 类。我已经开始研究它并在此处创建了一个存储库:github – php tailwind parser。 我已经实现了许多已记录的css类,但我相信…

    2025年12月9日
    000
  • php函数代码部署的团队协作和流程改进

    高效的 php 函数代码部署需要团队协作和流程改进。建议的最佳实践包括:代码版本控制(使用 git),自动化构建(如使用 jenkins 或 circleci),持续集成/持续交付 (ci/cd),以及良好的沟通和协作(使用 slack、asana 或 jira 等工具)。通过实施这些措施,团队可以…

    2025年12月9日
    000
  • PHP函数并发编程:跨平台兼容性探讨

    不同操作系统对 php 函数并发编程的兼容性:linux 和 macos 全面支持 pcntl_fork() 和 pcntl_exec() 函数。windows 不支持 pcntl_* 函数,需要使用 swoole 或 roadrunner 等替代方案。协程提供了一种在 php 中实现并发性的替代方…

    2025年12月9日
    000
  • PHP 函数版本更新指南:面向开发者的培训资源

    php 函数版本更新指南提供培训资源,帮助开发者应对更新,包括官方 php 手册、在线课程、社区论坛、代码库比较器和最佳实践,如定期检查发布公告、使用版本控制和在测试环境中测试更改。 PHP 函数版本更新指南:面向开发者的培训资源 PHP 函数不断更新,以提高效率、安全性并适应新的技术。对于开发者来…

    2025年12月9日
    000
  • PHP函数代码风格的常见解决方法

    php 函数代码风格问题的解决方法:参数分组:按类型分组,强制类型参数紧跟可选类型参数之后。缩进:函数体缩进 4 个空格或 1 个制表符。行长度:限制在 80 个字符以内,长表达式拆分成多行。缩写:避免使用缩写或模糊变量名,使用描述性名称。注释:提供明确的文档注释,包括目的、参数和返回类型。 PHP…

    2025年12月9日
    000
  • 自定义函数在PHP框架中的应用

    自定义函数在 PHP 框架中的应用 自定义函数是 PHP 框架中一个强大的工具,它允许开发者扩展框架功能并创建可重复使用的代码块。本文将介绍如何创建和使用自定义函数,并提供一个实战案例。 创建自定义函数 通过 function 关键字创建自定义函数, seguido por el nombre de…

    2025年12月9日
    000
  • php函数代码审查的团队协作技巧

    通过利用协作技巧和代码审查工具,团队可以改进 php 函数代码审查:制定清晰的函数代码审查指南使用协作工具,如 gitlab code review 或 gerrit code review鼓励审查员提供建设性的反馈并促进讨论跟踪和改进流程以提高效率和有效性 利用协作技巧审查 PHP 函数代码 函数…

    2025年12月9日
    000
  • PHP 自函数编写中常用设计模式

    php 自函数编写常用设计模式:单例模式:确保类只实例化一次。工厂模式:基于共同接口创建不同对象。策略模式:将特定算法与调用代码分离。适配器模式:让一个类与使用另一个接口的类协同工作。 PHP 自函数编写中常用设计模式 引言 自函数是 PHP 中一个强大的功能,它允许开发者创建自己的函数,极大地提高…

    2025年12月9日
    000
  • php函数代码审查的持续交付策略

    代码审查是持续交付流程中确保代码质量的关键步骤。通过集成版本控制、代码审查工具、自动化测试和持续集成管道,团队可以实施持续交付策略,该策略将:1. 早期检测错误;2. 提高代码质量;3. 加快交付并提高可靠性;4. 促进团队协作。 PHP 函数代码审查的持续交付策略 简介 代码审查是软件开发过程中的…

    2025年12月9日
    000
  • php函数代码审查的版本控制建议

    将版本控制集成到 php 函数代码审查可简化协作,提高效率:使用分支:为每个代码审查创建一个单独的分支。清晰的提交消息:简要说明更改目的和影响。小而频繁的提交:将更改分解成易于审查的单元。建立钩子:提交代码时自动触发代码审查流程。使用代码生成工具:在审查前自动检测潜在错误和警告。 使用版本控制管理 …

    2025年12月9日
    000
  • php函数命名规范进阶指南

    php函数命名规范进阶指南:基本规则:驼峰命名法(首字母小写,后续单词首字母大写)清晰简洁地描述功能动词开头高级规则:前缀命名:指定类别或用途(如get_user())参数前缀:描述函数作用(如validate_email())目的命名:预期结果(如calculate_total_cost())避免…

    2025年12月9日
    000
  • PHP函数代码风格的在线资源

    PHP 函数代码风格的在线资源 保持一致的代码风格对于代码可读性和可维护性至关重要。对于 PHP,有一些在线资源可以帮助您遵守最佳实践。 PHP_CodeSniffer PHP_CodeSniffer 是一款静态分析工具,可根据一组预定义的规则检查 PHP 代码。它可以检测编码标准违规并建议修复。您…

    2025年12月9日
    000
  • PHP 函数版本更新指南:持续集成和自动化

    为了实现 php 函数版本更新的持续集成和自动化,您需要:使用 git 和版本控制创建存储库。设置持续集成管道(如 github actions)来安装依赖项、运行测试和部署函数。编写自动化脚本,其中包括使用 http 客户端提取最新版本、与当前版本进行比较并部署新版本的步骤。将部署脚本配置为在 c…

    2025年12月9日
    000
  • PHP 函数版本控制与团队协作

    php 函数版本控制与协作版本控制对于协作开发 php 函数至关重要,用于管理代码更改、跟踪进度并避免冲突。工具包括 git、subversion 和 mercurial。步骤:1. 初始化代码库;2. 添加和提交代码;3. 创建分支;4. 切换分支;5. 合并分支。实战案例:开发人员可以在分支中进…

    2025年12月9日
    000
  • php函数版本更新的最佳实践和注意事项

    更新 php 函数版本的最佳实践和注意事项:测试您的代码以确保在更新后正常运行。使用版本控制系统跟踪更改并方便回滚。逐步更新函数,这样您就可以孤立问题并轻松地回滚更改。确保更新的函数版本与当前依赖项兼容。使用 composer 依赖项管理器自动更新依赖项版本。注意事项:更新函数可能涉及 api 更改…

    2025年12月9日
    000

发表回复

登录后才能评论
关注微信