将实际日期保存在变量中(仅限日期,无时间)

时间:2014-10-28 13:41:48

标签: javascript xpages lotus-notes

我想将实际日期保存在变量中。只有日期,没有时间

var a = @Date(@Now());
datasource.replaceItemValue("variable", a)`

var a = @Date(@Now());
var b = new Date(a.getYear(), a.getMonth(), a.getDay());
datasource.replaceItemValue("variable", b)

正在返回28.10.14 00:00

var dt:NotesDateTime = @Date(@Now());
datasource.replaceItemValue("variable", dt.getDateOnly());

给我一​​个错误

是否有一种简单的方法可以在没有时间的情况下获得实际日期?

3 个答案:

答案 0 :(得分:4)

使用NotesDateTime类的setAnyTime()方法删除时间组件。

答案 1 :(得分:0)

如果您只想保存日期,请使用文本字段并将文本转换为日期,如果您需要在代码中

答案 2 :(得分:0)

@Now使用java.util.Date,其中包含时间部分。 .getDateOnly()可能会抛出错误,因为它返回一个String。

基础session.createDateTime()方法接受文字,java.util.Datejava.util.Calendar。我认为所有这些都需要包含一个时间元素。

如果您只存储该值以供参考,我同意brso05不要担心。

如果您有可能使用@Adjust(或同等版本),那么不要担心时间会导致灾难,因为每次尝试调整时,都需要记住考虑日光节省时间。

一种选择是将时间设置为中午12:00。这意味着DST不会成为问题。

java.sql.Date专门设计为仅包含Date部分,不包含时间元素。 Jesse Gallagher在他的frostillic.us框架https://frostillic.us/f.nsf/posts/32A63DD640D868D885257D18006659A9的背景下谈到java.sql.Date,他是我发现的关于java.sql.Date的人。我不确定他是如何存储这些值的。

我不确定OpenNTF Domino API是否允许您只将java.sql.Date传递给某个字段,因此只存储日期部分。