簡體   English   中英

java.text.ParseException:無法解析的日期:“-”

[英]java.text.ParseException: Unparseable date: “-”

我有以下代碼

   private String formatDate(String date)
    throws XXXXException
{
    String str = "no date";
    if (!StrUtil.isEmpty(date) && !"null".equals(date))
    {
        DateFormat dateformatter = DateFormat.getDateTimeInstance(DateFormat.SHORT,  
        DateFormat.SHORT);
        Date dateDate;
        str = "";
        try
        {
            dateDate = dateformatter.parse(date);
            str = m_formatter.dateToString(dateDate);
        }
        catch (ParseException e)
        {
            LogFactory.getLogger(XYZ.class).error("", e);

        }
    }

    return str;
 }

在Websphere v7.0中部署了耳朵的用戶之一看到以下異常

 java.text.ParseException: Unparseable date: "-"
 at java.text.DateFormat.parse(DateFormat.java:337)
 .
 .
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
 at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1661) 
 .

我認為使用weblogic部署時不會出現此問題。我也無法使用websphere v7.0在本地復制該問題。 問題可能與websphere http://www-01.ibm.com/support/docview.wss?uid=swg1PM54864有關嗎? 還是我的代碼可以做些什么來幫助我解決此問題?

當我查看DateFormat.SHORT( http://docs.oracle.com/javase/tutorial/i18n/format/dateFormat.html )的Java文檔時,它提到了一個'/'字符作為分隔符。 因此,“-”確實是無效字符。

我還注意到該格式取決於語言環境。 那么您的weblogic和Websphere服務器是否可能具有不同的語言環境?

問題已解決。 發生這種情況是因為我們正在使用xslt轉換。 在contentHandler實施文件中,字符功能未正確實施。

   public void characters(char ch[], int start, int length)
    throws SAXException
{
    // Reset the value
    m_value.setLength(0);
    m_value.append(ch, start, length);
    isPut = true;
}

問題出在setLength(0)。 它與weblogic一起使用,而不與websphere一起使用,因為weblogic具有比websphere更大的緩沖或其他功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM