[英]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.