我在CET/CEDT中有一个Lotus Domino服务器。
该服务器上的电子邮件有一个DeliveredDate,可能在同一时区,也可能不在,但让我们将其设置为2014-03-01 11:01:38 CET
。
第二个是另一个时区的"标准时区字符串"比如Z=-4$DO=0$...$ZN=Arabian
如何在LotusScript ServerTask中将DeliveredDate转换为由上述时区字符串表示的时区?
如果某个LotusScript服务器任务将该日期放入NotesDateTime
对象中,则可以获得属性LSLocalTime
(表示CET)、LSGMTTime
(表示GMT)和ZoneTime
(当然也返回CET)。函数包括ConvertToZone
,它不接受字符串,以及未记录的merge
,它改变时间,这样11:01 CET变成11:01 AST (8:01 CET)。
但是交货日期2014-03-01 11:01 CET应该变成2014-03-01 14:01 AST;
交付日期由2014-04-01 11:01改为2014-04-01 13:01 AST。
如何?
Notes公式语言有一个函数可以完全满足您的需求。它叫做@TimeToTextInZone
。根据这个developerWorks线程,在LotusScript中没有相应的功能。但是,您可以尝试将NotesSession.Evaluate()
与@TimeToTextInZone
结合使用。
看起来这个字符串包含了ConvertToZone的zone和dst参数的值,所以你可以解析它并使用那个方法,对吧?我错过什么了吗?