0

我想向用户显示不同城市/时区的时间,如下所示:

伦敦 2012-02-01 11:30:00 GMT (0)

纽约 2012-02-01 06:30:00 GMT (-6)

斯德哥尔摩 2012-02-01 12:30:00 GMT (+1)

我需要它在 ssjs 中并且是通用的,这样服务器所在的时区就无关紧要了。

我一直在玩下面的代码行,但无法让它工作

var dt:NotesDateTime = session.createDateTime("Today");
dt.setNow()

//dt.convertToZone(-6,true)
//return dt.getGMTTime()
//return dt.getZoneTime()

GMT 可以,但用户时区也可以,如 GMT、UTC 等。

4

1 回答 1

3

在这种情况下,我会远离 NotesDateTime 对象,而使用 Java Date 对象。您可以执行以下操作:

var d:java.util.Date = new java.util.Date();

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");

print(dateFormat.format(d));

dateFormat.setTimeZone(TimeZone.getTimeZone("Europe/London"));
print(dateFormat.format(d));

dateFormat.setTimeZone(TimeZone.getTimeZone("America/New_York"));
print(dateFormat.format(d));

请记住,更改 Java Date 的时区不会更改日期本身,它只会更改日期的显示方式。

于 2012-09-23T07:35:33.367 回答