我有一个莲花笔记字段,应该以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格式显示日期和时间,但不会更改日期格式。
答案 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 "))