Jython的日期时间

2024-04-28 04:13:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我要弄清楚今天是不是工作日。在

在CPython中,我将使用datetime:

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.

在这种情况下,我怎么知道星期几?在


Tags: orimporttodaydatetimedateifjythoncpython
1条回答
网友
1楼 · 发布于 2024-04-28 04:13:30

你一定要在Jython做这个决定吗?apachenifi公开了一种自定义表达式语言,它允许您在flowfile属性或内容中执行一些操作,而无需加载一个全新的计算环境。通过将EL date functionsJava time formatting syntax (specifically ^{} day of week)一起使用,您可以创建一个布尔表达式,该表达式将相应地返回weekday或{}。在

本例使用返回当前时间的now(),但您也可以有一个现有的属性值,如12/10/2018,或者根据EL docs,toDate()来解析的类似字符串。在

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

这是在apachenifi1.9.0-SNAPSHOT上测试的,但是在引入ifElse之后的任何版本上都可以使用。在

相关问题 更多 >