2015-04-01 69 views
1

正在使用下面的標記來顯示可以正常工作的時區,直到現在夏時制已經發生,並且由於我們的服務器在英國顯示時間爲01/04/2015 03:43:00 PM + 0100,我們也希望時區顯示,請諮詢。在XSLT中正確顯示時區

標籤之前使用:

date:format-date(date:date-time(), 'dd/MM/yyyy hh:mm:ss a Z') 

問候
阿文德

+0

對不起,但不清楚你的問題是什麼。你說「我們會......喜歡顯示時區」。字符串「+0100」是否不算作您的目的時區?從技術上講,這是一個時間偏移(來自UTC),而不是「時區」(由民法定義的區域,指定與UTC的給定偏移量),並且它不區分英國夏令時和歐洲冬令時,但它服務於同樣的目的,大多數人稱之爲時區。你想要什麼,沒有? – 2015-04-01 15:51:40

回答

0

如果「適當」你的意思是你想讓它顯示爲「BST」(英國夏令時),那麼就沒有實際在日期/時間值中有足夠的信息來做到這一點 - 在格林威治子午線附近的許多不同時區發生+1時區偏移。

您正在使用EXSLT庫來格式化日期和時間。這是基於Java的SimpleDateFormat類,所以你可以試試你的運氣與時區指示器z,而不是Z

或者,如果您有權訪問XSLT 2.0,則可以使用format-dateTime()函數。這遭受同樣的問題(dateTime值只存儲一個偏移量,它實際上並沒有告訴你時區的名稱)。但是您可以通過將format-dateTime()的第5個參數設置爲「歐洲/倫敦」來向處理器提供線索,在這種情況下,它可能可以解決這個問題。