2012-09-22 95 views
0

我要顯示給用戶這樣在不同的城市/時區的時間:如何使一個服務器端的世界時鐘XPages中

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

紐約2012-02-01 6時三十〇分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等。

回答

3

在這case我會遠離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日期不會更改日期本身,它只是改變了它的顯示方式。

+1

感謝馬克,這工作,謝謝:var d:java.util.Date = new java.util.Date(); var jdt:java.text.DateFormat = new java.text.SimpleDateFormat(「yyyy-MM-dd HH:mm:ss」); var tz = java.util.TimeZone.getTimeZone(「America/New_York」); jdt.setTimeZone(tz) return jdt.format(d) –

相關問題