Xpages中的丹麦日期格式不正确

Xpages中的丹麦日期格式不正确,xpages,lotus-domino,Xpages,Lotus Domino,在我们的应用程序中,我们实现了所有日期和值都应使用浏览器区域设置显示。 但是,在任何web浏览器中选择丹麦语作为区域设置/语言时,日期格式是错误的。 英语、瑞典语、挪威语的格式没有错误,只有丹麦语有错误。 日期格式为“2015年8月20日”,但应为“2015年8月20日” 服务器是使用服务器区域设置的Domino9.0.1版本,在测试区域设置输出时,我看到它提供“da”服务。在服务器上更改为浏览器区域设置时,该设置不会更改日期格式。 我们在不同国家/地区的服务器上报告了此问题 我试图找到问题的解

在我们的应用程序中,我们实现了所有日期和值都应使用浏览器区域设置显示。
但是,在任何web浏览器中选择丹麦语作为区域设置/语言时,日期格式是错误的。
英语、瑞典语、挪威语的格式没有错误,只有丹麦语有错误。
日期格式为“2015年8月20日”,但应为“2015年8月20日”

服务器是使用服务器区域设置的Domino9.0.1版本,在测试区域设置输出时,我看到它提供“da”服务。在服务器上更改为浏览器区域设置时,该设置不会更改日期格式。
我们在不同国家/地区的服务器上报告了此问题

我试图找到问题的解释和/或答案,但失败了

应用程序在任何字段、视图列上都没有特定于语言环境的格式,我们希望保持这种方式。我们的应用程序在不同的国家运行,因此不控制区域设置格式是我们的首选方式。但是,我们希望以特定语言的正确方式呈现日期和数字

我们不显式地使用任何Dojo组件,只在视图面板中使用普通的日期字段和视图列。我们没有设置任何国际选项

我在另一个问题中尝试将区域设置为@Sven Hasselbach answer,但失败。还没试过他的小嘴

标题的示例:

GET /demo/tradesec.nsf HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate, sdch
Accept-Language: da,sv;q=0.8,no;q=0.6,en-US;q=0.4,en;q=0.2,nl;q=0.2
DNT: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.37 Safari/537.36
X-Chrome-UMA-Enabled: 1
X-Client-Data: CJe2yQEIo7bJAQicksoBCOeUygEI/ZXKAQi8mMoB

HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Encoding: gzip
Content-Length: 8956
Content-Type: text/html;charset=UTF-8
Date: Mon, 17 Aug 2015 07:59:43 GMT
Expires: -1
Keep-Alive: timeout=10, max=100
Tradechannel: Work_and_fun_professionally_done
X-Pad: avoid browser bug
请大家多多指教,谢谢


/M

请快速检查-您使用的浏览器中是否有任何设置可能会在此处造成任何问题?您能否使用具有正确区域设置的非XPages网页确认它是否正常工作

我知道我在其他情况下遇到过浏览器试图“聪明”的问题,因此我认为最好尝试确定浏览器或XPage是否是罪魁祸首;-)


/John

需要快速检查的是,您使用的浏览器中是否有任何设置可能会在此处产生问题?您能否使用具有正确区域设置的非XPages网页确认它是否正常工作

我知道我在其他情况下遇到过浏览器试图“聪明”的问题,因此我认为最好尝试确定浏览器或XPage是否是罪魁祸首;-)


/John

需要快速检查的是,您使用的浏览器中是否有任何设置可能会在此处产生问题?您能否使用具有正确区域设置的非XPages网页确认它是否正常工作

我知道我在其他情况下遇到过浏览器试图“聪明”的问题,因此我认为最好尝试确定浏览器或XPage是否是罪魁祸首;-)


/John

需要快速检查的是,您使用的浏览器中是否有任何设置可能会在此处产生问题?您能否使用具有正确区域设置的非XPages网页确认它是否正常工作

我知道我在其他情况下遇到过浏览器试图“聪明”的问题,因此我认为最好尝试确定浏览器或XPage是否是罪魁祸首;-)


/John正在使用ICU4J库进行日期格式化。该库使用“/”作为丹麦短日期格式的分隔符

所以代码如下:

com.ibm.icu.text.DateFormat.getDateInstance(
  com.ibm.icu.text.DateFormat.SHORT, 
      new java.util.Locale("da")).toPattern()
提供如下日期模式:

en: M/d/yy
da: dd/MM/yy
sv: yyyy-MM-dd
nb: dd.MM.yy
您可以尝试改用长日期格式:

da (long): d. MMM yyyy
output: 17. aug 2015
da (medium): dd/MM/yyyy
output: 17/08/2015
通过在转换器上设置dateStyle=“long”

或者,如果确实需要覆盖丹麦语的特定语言模式,则代码如下:

<xp:viewColumn columnName="_MainTopicsDate" id="viewColumn3">
    <xp:viewColumnHeader value="Date" id="viewColumnHeader3"></xp:viewColumnHeader>
    <xp:this.converter>
        <xp:convertDateTime dateStyle="short" 
           pattern="${javascript: ('da' == context.getLocale().getLanguage())? 
              'd-MM-yyyy': null}">
        </xp:convertDateTime>
    </xp:this.converter>
</xp:viewColumn>

XPages正在使用ICU4J库进行日期格式化。该库使用“/”作为丹麦短日期格式的分隔符

所以代码如下:

com.ibm.icu.text.DateFormat.getDateInstance(
  com.ibm.icu.text.DateFormat.SHORT, 
      new java.util.Locale("da")).toPattern()
提供如下日期模式:

en: M/d/yy
da: dd/MM/yy
sv: yyyy-MM-dd
nb: dd.MM.yy
您可以尝试改用长日期格式:

da (long): d. MMM yyyy
output: 17. aug 2015
da (medium): dd/MM/yyyy
output: 17/08/2015
通过在转换器上设置dateStyle=“long”

或者,如果确实需要覆盖丹麦语的特定语言模式,则代码如下:

<xp:viewColumn columnName="_MainTopicsDate" id="viewColumn3">
    <xp:viewColumnHeader value="Date" id="viewColumnHeader3"></xp:viewColumnHeader>
    <xp:this.converter>
        <xp:convertDateTime dateStyle="short" 
           pattern="${javascript: ('da' == context.getLocale().getLanguage())? 
              'd-MM-yyyy': null}">
        </xp:convertDateTime>
    </xp:this.converter>
</xp:viewColumn>

XPages正在使用ICU4J库进行日期格式化。该库使用“/”作为丹麦短日期格式的分隔符

所以代码如下:

com.ibm.icu.text.DateFormat.getDateInstance(
  com.ibm.icu.text.DateFormat.SHORT, 
      new java.util.Locale("da")).toPattern()
提供如下日期模式:

en: M/d/yy
da: dd/MM/yy
sv: yyyy-MM-dd
nb: dd.MM.yy
您可以尝试改用长日期格式:

da (long): d. MMM yyyy
output: 17. aug 2015
da (medium): dd/MM/yyyy
output: 17/08/2015
通过在转换器上设置dateStyle=“long”

或者,如果确实需要覆盖丹麦语的特定语言模式,则代码如下:

<xp:viewColumn columnName="_MainTopicsDate" id="viewColumn3">
    <xp:viewColumnHeader value="Date" id="viewColumnHeader3"></xp:viewColumnHeader>
    <xp:this.converter>
        <xp:convertDateTime dateStyle="short" 
           pattern="${javascript: ('da' == context.getLocale().getLanguage())? 
              'd-MM-yyyy': null}">
        </xp:convertDateTime>
    </xp:this.converter>
</xp:viewColumn>

XPages正在使用ICU4J库进行日期格式化。该库使用“/”作为丹麦短日期格式的分隔符

所以代码如下:

com.ibm.icu.text.DateFormat.getDateInstance(
  com.ibm.icu.text.DateFormat.SHORT, 
      new java.util.Locale("da")).toPattern()
提供如下日期模式:

en: M/d/yy
da: dd/MM/yy
sv: yyyy-MM-dd
nb: dd.MM.yy
您可以尝试改用长日期格式:

da (long): d. MMM yyyy
output: 17. aug 2015
da (medium): dd/MM/yyyy
output: 17/08/2015
通过在转换器上设置dateStyle=“long”

或者,如果确实需要覆盖丹麦语的特定语言模式,则代码如下:

<xp:viewColumn columnName="_MainTopicsDate" id="viewColumn3">
    <xp:viewColumnHeader value="Date" id="viewColumnHeader3"></xp:viewColumnHeader>
    <xp:this.converter>
        <xp:convertDateTime dateStyle="short" 
           pattern="${javascript: ('da' == context.getLocale().getLanguage())? 
              'd-MM-yyyy': null}">
        </xp:convertDateTime>
    </xp:this.converter>
</xp:viewColumn>


谢谢John的支持。测试浏览器区域设置的问题是,由于不知道它们如何在服务器上进行验证,因此没有可供100%验证的站点,到目前为止,我看到的唯一站点是。然而,他们也对页面进行了本地化,所以……然后您可以尝试建立一个简单的基于html的页面,在这里您可以控制标题和html。正如您可能已经猜到的,我已经放弃让浏览器来决定,而只是格式化日期后端。不理想-但我可以控制;-)谢谢约翰的意见。测试浏览器区域设置的问题是,由于不知道它们如何在服务器上进行验证,因此没有可供100%验证的站点,到目前为止,我看到的唯一站点是。然而,他们也对页面进行了本地化,所以……然后您可以尝试建立一个简单的基于html的页面,在这里您可以控制标题和html。正如您可能已经猜到的,我已经放弃让浏览器决定