用于操作位置感知、希伯来语日期、时间和假日的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第三方库


热门话题
与ReentrantLock相比,java ReentrantReadWriteLock的性能非常差   java如何使用Maven Android Studio正确导入?   安卓将ADB添加到我的Java PC应用程序   反射Java getDeclaredConstructor失败,来自JUnit的NoSuchMethodException   JSP上siteedit标记库的java替代   JavaSpring环境概要文件和JPA   java中是否有一个类似于StringBuilder的类,唯一的区别是它具有固定的长度?   JavaMathContext。小数点32 vs MathContext。小数点64,使用哪一个,为什么?   java使用spring在Ibm Websphere MQ中实现重试逻辑   java调用SpriteBatch。开始()和结束()   java有一种从文本中读取文本的方法。文件,并将其设置为pom中的maven属性。xml专家?   java让sitemesh使用struts2   Java Swing:在现有窗口上定位对话框   使用带有MemSql的JPA本机查询的java Select json列