我要弄清楚今天是不是工作日。在
在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.
在这种情况下,我怎么知道星期几?在
你一定要在Jython做这个决定吗?apachenifi公开了一种自定义表达式语言,它允许您在flowfile属性或内容中执行一些操作,而无需加载一个全新的计算环境。通过将EL date functions与Java 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
之后的任何版本上都可以使用。在相关问题 更多 >
编程相关推荐