用于操作位置感知、希伯来语日期、时间和假日的python包。

hebcal的Python项目详细描述


赫伯卡尔

用于处理希伯来语日期、时间和假日的python包

注意:这仍在开发中,尚未准备好生产。仍然会有很多突破性的变化。

有几个python包处理希伯来语日期、z'manim和犹太节日。然而,由于希伯来日历认为黄昏是新的一天的开始,我发现与其他包一起工作非常不方便。仅仅将格里高利日期转换为希伯来日期并不能给您正确的转换,因为它可能已经过了黄昏,需要手动调整。

任何犹太节日套餐也一样。你首先需要弄清楚真正的希伯来语日期是什么,然后才能确定它目前是否是一个假日。

我想问一句“今天是休息日吗?”我应该知道是真是假。

我写信给赫伯卡尔是为了解决这些问题。它需要一个纬度和经度来计算位置。 它可以通过pip:pip install hebcal安装。

下面是一个简单的示例:

importhebcaltime_info=hebcal.TimeInfo.now(latitude=40.089909,longitude=-74.216270)print(time_info.today_sunrise().strftime('%-I:%M:%S %p'))###6:48:58 AMprint(time_info.hebrew_date)###(5779, 7, 19)

您可以用字符串输入特定的日期和时间:

time_info=hebcal.TimeInfo('2018, 9, 27 10:07 pm',latitude=40.089909,longitude=-74.216270)print(time_info.today_sunrise().strftime('%-I:%M:%S %p'))###6:48:58 AMprint(time_info.hebrew_date)###(5779, 7, 19)

返回的希伯来语日期考虑了日出/日落。如果是日落后,它会自动返回正确的希伯来语日期。

您还可以直接查询它的夜晚或白天

print(time_info.is_night())###Trueprint(time_info.is_yom())###False
注意:从纬度/经度计算时区会减慢计算速度。最好将时区作为参数传递:
time_info=hebcal.TimeInfo.now(timezone='America/New_York',latitude=40.089909,longitude=-74.216270)

您可以使用hebcal来手动获取时区:

fromhebcal.util.locationimportget_locationtimezone=get_location(latitude==40.089909,longitude=-74.216270)print(timezone)###America/New_York

赫布卡尔·兹马尼姆·兹马尼姆

注意:所有时间都是datetime.datetime对象。它们可以使用.strftime()格式化。

下面是hebcal.zmanim的一个示例

time_info=hebcal.TimeInfo.now(latitude=40.089909,longitude=-74.216270)# pass a hbcal.TimeInfo object into Zmanimzmanim=hebcal.Zmanim(time_info)print(zmanim.last_shema_ma)###2018-09-27 09:12:12.895624-04:00print(zmanim.last_shema_ma.strftime("%-I:%M:%S %p"))###9:12:12 AM

除了访问单独的zmanim,您可以只打印zmanim对象,它返回格式化的时间(即9:12:12 AM)。

另一个选择是将所有zmanim配置为json:

zmanim_json=hebcal.Zmanim.json(time_info)print(zmanim_json['earliest mincha'])###2018-09-27 13:17:19.756457-04:00

在此处添加Calandar自述文件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在jframe中模糊的背景上创建一个透明的矩形   java和super之间有区别。getX()和简单的x?   使用ant的java删除eclipse项目   java找不到。txt文件?   多线程Java wait()notify()   带按钮的java透明控件   java Android Studio 3无法构建我的项目   性能最佳(最快且节省内存)的Java收集/数据结构,可同时插入和删除项   spring+hibernate集成中的java ClassNotFoundException   java如何在Android上建立异步URL连接?   java当我选择contacts选项卡时,选项卡栏消失了   java根据数据库中的日期获取结果,不考虑时间   java如何访问WebChromeClient中的方法?   java如何在安卓中使用两行列表项?   spring Swagger Java日期格式验证引发异常