莲花笔记

时间:2016-10-28 05:45:34

标签: datetime format lotus-notes

我有一个莲花笔记字段,应该以GMT格式保存日期/时间, 因为我用了

Dim timenow As Variant timenow =现在() Dim dateTime As New NotesDateTime(timenow) doc.abc = dateTime.GMTTime

这将设置字段' abc'在GMT中有日期和时间。但现在我遇到了日期格式的问题。在我的系统中,它以10/28/2016格式保存,但对于系统日期格式不同的其他用户,它将以28.10.2016格式保存。我需要强制日期格式为10/28/2016,我尝试使用格式化功能

doc.abc =格式(dateTime.GMTTime," m / d / yy h:nn")

以上代码以GMT格式显示日期和时间,但不会更改日期格式。

3 个答案:

答案 0 :(得分:0)

您的假设是错误的,该日期是以该格式保存的。

后端的日期项目是数字项目。它们将日期存储为数字,整数部分为日,分数部分为一天的时间(第0天为12/31/1899 00:00)

然后客户端中的设置确定客户端如何显示日期。

在项目的属性中,您通常会定义"客户"作为显示格式,但您可以将日期显示固定为特定表格。

但通常这不是必要的,每个德国人都不会喜欢"逆转"英语/美国时间格式的顺序。

如果您从该日期构造文本,这只会是一个问题,因为@Text()将使用客户端格式对其进行转换。

我想,你的问题不在"保存"该项目,但代码中的其他地方,您将日期解释为文本,这始终是一个问题。

答案 1 :(得分:0)

它是什么类型的领域?如果它是日期字段,Notes客户端将使用用户的本地日期格式。

如果您想使用特定格式,可以使用文本字段,但当然时间不会调整到用户的本地时区。

充分利用这两个世界的方法是将日期存储在日期字段中,但使用计算显示字段将其显示在用户的当前时区中,但格式完全符合您的要求。

答案 2 :(得分:0)

大多数人使用NotesDateTime对象在字段中设置日期

Dim ExpiryDate As New NotesDateTime(Cstr(Today))

即使表单中的字段使用特定格式,根据LocalDate设置,像2019-09-08这样的日期也可能意味着2019年9月8日或2019年8月9日。

为避免这种现象,您需要在NotesDateTime对象中强制使用格式 像这样

Dim ExpiryDate As New NotesDateTime(Format$( Today, "yyyy-mm-dd "))