使用 Orbeon 根据当前日期设置开始日期和停止日期
Posted
技术标签:
【中文标题】使用 Orbeon 根据当前日期设置开始日期和停止日期【英文标题】:Setting up a startdate and a stopdate based on current date using Orbeon 【发布时间】:2021-12-07 04:40:57 【问题描述】:我正在使用 Orbeon 创建自助服务表单。
我有两个日期字段,我想根据当前日期为其设置初始值。 我的开始日期必须设置为前一年的 1 月 1 日,我的停止日期必须设置为前一年的 12 月 31 日。
也就是说,如果当前日期是 20211020,我的 startdate 应该设置为 20200101,我的 stopdate 应该设置为 20201231。
我尝试过: (current-date() - xs:yearMonthDuration('P8M') - xs:yearMonthDuration('P1Y'))
但这只是将日期设置为 20200220。
我正在操作我的开始日期和停止日期的控制设置,将公式设置为初始值以设置我的日期。
我认为我不应该使用 xs:yearMonthDuration,但是如何解决我的问题,我应该使用什么来代替?
问候海尔
【问题讨论】:
我在下面的回答中添加了一些表达方式,但如果这对您不起作用,或者我误解了您的问题,请告诉我。 -亚历克斯 【参考方案1】:下面的表达式应该做到这一点:
去年1月1日:concat(year-from-date($date) - 1, '-01-01')
去年12月31日:concat(year-from-date($date) - 1, '-12-31')
这将给出以下内容,您还可以使用this form 测试您可以将哪个源粘贴到表单生成器中。
【讨论】:
非常感谢您的贡献 - 它帮助我解决了我的问题 :-) 我只是不想操作 XML,所以我操作了 startdate 和 stopdate 的控件设置,将公式设置为初始值来设置我的日期。我做了以下陈述,他们解决了我的问题: concat(year-from-date(current-date()) - 1, '-01-01') concat(year-from-date(current-date()) - 1, '-31-12') 优秀的@HMFN,我很高兴成功了,感谢您的更新。 -亚历克斯以上是关于使用 Orbeon 根据当前日期设置开始日期和停止日期的主要内容,如果未能解决你的问题,请参考以下文章