XPages:在ssjs中创建当前日期时间并保存到Datetime Notes表单字段

时间:2014-01-17 09:00:22

标签: datetime xpages lotus-notes lotus-domino xpages-ssjs

我发现将日期存储在备注表单的日期时间字段中的唯一方法是:

theDoc2.replaceItemValue("lastAccess",session.createDateTime("Today"));

但这只会创建一个Date,而不是DateTime。此外,我不想创建像“今日12”这样的静态时间,但我想要动态地使用当前的日期时间。

使用这个我得到一个错误(调用方法NotesDocument.replaceItemValue(string,Date)null发生异常):

theDoc2.replaceItemValue("lastAccess",@Now());

并使用它,表单字段从日期/时间更改为文本数据类型,我想保留日期/时间类型:

theDoc2.replaceItemValue("lastAccess",@Now().toLocaleString);

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

试一试:

正如您所写,.replaceItemValue("fieldName", @Now())会引发错误。

但是,我让它与

一起工作
.replaceItemValue("fieldName", session.createDateTime(@Now()))

在这种情况下,该值将作为时间/日期存储在Notes字段中,其中包含所有必需的组件,如

17.01.2014 12:45:51 CET

从我所看到的,两者之间的区别在于@Now()返回Date 数据类型,而session.createDateTime()返回 NotesDateTime对象 < / p>

另一方面,对我而言,它也使用了您原来的方法:

session.createDateTime("Today")

不知道是什么导致了你的问题;你有xpage字段的可编辑represantion吗?如果是这样,它是否启用了某种转换器,可以在提交期间进行一些过滤?

答案 1 :(得分:1)

当我找到方法时,我会回答我自己的问题。如果您认为不正确或最佳实践,请发表评论......

theDoc2.replaceItemValue("lastAccess",session.createDateTime("Today"+@Now().toLocaleTimeString()));