我想向用户显示不同城市/时区的时间:
伦敦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和generic中,以便服务器所在的时区无关紧要。
我一直在使用以下代码行,但无法使其正常工作
var dt:NotesDateTime = session.createDateTime("Today");
dt.setNow()
//dt.convertToZone(-6,true)
//return dt.getGMTTime()
//return dt.getZoneTime()
GMT还可以,但用户时区也可以,比如GMT,UTC等。
答案 0 :(得分: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的时区不会更改日期本身,只会更改日期的显示方式。