【问题标题】:Setting up a startdate and a stopdate based on current date using Orbeon使用 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,但是如何解决我的问题,我应该使用什么来代替?

问候海尔

【问题讨论】:

  • 我在下面的回答中添加了一些表达方式,但如果这对您不起作用,或者我误解了您的问题,请告诉我。 -亚历克斯

标签: date xpath orbeon


【解决方案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,我很高兴成功了,感谢您的更新。 -亚历克斯
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-20
  • 1970-01-01
  • 2010-11-16
  • 1970-01-01
  • 1970-01-01
  • 2014-03-02
相关资源
最近更新 更多