我已經將XPage上的一些計算文本綁定到文檔數據源,並嘗試使用SSJS顯示Notes DateTime字段的日期組件。XPages:使用瀏覽器語言環境顯示DateTime值
我一直使用doc.getItemValueDateTimeArray方法,但它似乎與服務器的語言環境綁定(如果我將瀏覽器的語言從英國更改爲美國,日期格式仍爲dd/mm/yyyy)。
如何以尊重瀏覽器語言設置的格式輸出日期?
我已經將XPage上的一些計算文本綁定到文檔數據源,並嘗試使用SSJS顯示Notes DateTime字段的日期組件。XPages:使用瀏覽器語言環境顯示DateTime值
我一直使用doc.getItemValueDateTimeArray方法,但它似乎與服務器的語言環境綁定(如果我將瀏覽器的語言從英國更改爲美國,日期格式仍爲dd/mm/yyyy)。
如何以尊重瀏覽器語言設置的格式輸出日期?
嘗試增加的轉換器(即直接顯示數據源值,而無需使用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>
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
對象,您還可以在該字段中添加轉換器來格式化日期,但上面的示例已經可以聽取瀏覽器的語言環境。