2014-04-03 45 views
0

我已經將XPage上的一些計算文本綁定到文檔數據源,並嘗試使用SSJS顯示Notes DateTime字段的日期組件。XPages:使用瀏覽器語言環境顯示DateTime值

我一直使用doc.getItemValueDateTimeArray方法,但它似乎與服務器的語言環境綁定(如果我將瀏覽器的語言從英國更改爲美國,日期格式仍爲dd/mm/yyyy)。

如何以尊重瀏覽器語言設置的格式輸出日期?

回答

0

嘗試增加的轉換器(即直接顯示數據源值,而無需使用doc.getItemValueDateTimeArray):

<xp:text escape="true" id="computedField1" value="#{document1.dateField}"> 
    <xp:this.converter> 
     <xp:convertDateTime type="date"></xp:convertDateTime> 
    </xp:this.converter> 
</xp:text> 
1

getItemValueDateTimeArray()該方法返回NotesDateTime值的列表(java.util.Vector是精確的)。如果您通過java.util.Date對象,則XPage運行時將只遵循瀏覽器的語言設置。

有幾種方法可以使用。

綁定計算字段直接到文檔的字段(推薦的做法):

<xp:text 
    escape="true" 
    id="computedField1" 
    value="#{document1.$revisions}"> 
</xp:text> 

使用NotesDateTime類的toJavaDate()方法返回一個java.util.Date

<xp:text 
    escape="true" 
    id="computedField1" 
    value="#{javascript:var doc = document1.getDocument(); 
    var dt:NotesDateTime = doc.getItemValueDateTimeArray('$revisions').get(0); 
    return dt.toJavaDate();}"> 
</xp:text> 

一旦你有一個java.util.Date對象,您還可以在該字段中添加轉換器來格式化日期,但上面的示例已經可以聽取瀏覽器的語言環境。

相關問題