gpt4 book ai didi

python - Jython 中的日期时间

转载 作者:太空宇宙 更新时间:2023-11-04 00:07:14 25 4
gpt4 key购买 nike

我需要查明今天是否是工作日。

在 CPython 中,我会为此使用日期时间:

import datetime
today=datetime.date.today()
if today.isoweekday()==0 or today.isoweekday()==6
print "weekend"
else:
print "weekday"

但是由于我使用的是 NiFi,所以我不得不使用 Jython。这显然将 datetime 实现为某些 JDBC 类的别名。如果我在 NiFi 中尝试上面的代码,我会收到以下错误:

AttributeError: 'java.sql.Date' object has no attribute 'isoweekday' in at line number 8.

如何在这种情况下找出星期几?

最佳答案

您必须在 Jython 中执行此确定吗? Apache NiFi 公开了一种自定义表达式语言,它允许您在流文件属性或内容中执行一些操作,而无需加载全新的评估环境。通过使用 EL date functionsJava time formatting syntax (specifically E -- day of week) ,您可以制作一个 bool 表达式,该表达式将适本地返回 weekdayweekend

此示例使用返回当前时间的 now(),但您也可以使用现有的属性值,例如 12/10/2018 或类似的字符串根据 EL 文档使用 toDate() 进行解析。

${now():format("E"):in("Sat", "Sun"):ifElse("weekend", "weekday")}

这在 Apache NiFi 1.9.0-SNAPSHOT 上进行了测试,但在引入 ifElse 后应该可以在 1.2.0 之后的任何版本上运行。

关于python - Jython 中的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53709405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com