将字符串解析为日期戳不需要';不行。JAVA
我正在尝试将格式为MMM dd yyyy的字符串解析为时间戳。我是这样做的:将字符串解析为日期戳不需要';不行。JAVA,java,Java,我正在尝试将格式为MMM dd yyyy的字符串解析为时间戳。我是这样做的: String dateto = "Dec-01-2013"; try{ DateFormat datetoDF = new SimpleDateFormat("MMM-dd-yyyy"); Date datetoD = (Date)datetoDF.parse(dateto); datetoTS = new Timestamp(datetoD.getTime()); } catch(ParseE
String dateto = "Dec-01-2013";
try{
DateFormat datetoDF = new SimpleDateFormat("MMM-dd-yyyy");
Date datetoD = (Date)datetoDF.parse(dateto);
datetoTS = new Timestamp(datetoD.getTime());
}
catch(ParseException e)
{
log.error("RegisteredUserDataProvider:getFilteredUsers:ParseException: " + e.getMessage());
String stackTrace = ExceptionUtils.getStackTrace(e);
log.error(stackTrace);
}
为什么它只适用于3月份(例如2013年3月1日)?
当我给出其他月份的其他日期时,我得到
java.text.ParseException: Unparseable date: "Dec-01-2013"
我每月检查一组变量:
“2013年12月1日”、“2013年11月1日”、“2013年10月1日”、“2013年9月1日”、“2013年8月1日”、“2013年7月1日”、“2013年6月1日”、“2013年5月1日”、“2013年4月1日”、“2013年2月1日”、“2013年1月1日”和“2013年3月4日”。它只适用于三月。你知道为什么吗?看起来你默认的
语言环境是不同的
DateFormat datetoDF = new SimpleDateFormat("MMM-dd-yyyy", Locale.ENGLISH);
您的默认语言环境可能无法识别单词“Jan”、“Feb”等。看起来您的默认语言环境不同
DateFormat datetoDF = new SimpleDateFormat("MMM-dd-yyyy", Locale.ENGLISH);
您的默认区域设置可能无法识别单词“Jan”、“Feb”等。您可以使用此选项
String dateto = "Dec-01-2013";
Date datetoD = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH).parse(dateto );
datetoTS = new Timestamp(datetoD.getTime());
你可以用这个
String dateto = "Dec-01-2013";
Date datetoD = new SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH).parse(dateto );
datetoTS = new Timestamp(datetoD.getTime());
所有关于本地或您正在传递日期Dec-01-2013
,带空格。
请提供不带空格的正确日期,如2013年12月1日
,并尝试打印Locale.getDefault()
,如果您的默认值设置为类似于Korea的值,则肯定会出现此异常,然后尝试使用类似的值
DateFormat datetoDF=新的SimpleDateFormat(“MMM-dd-yyyy”,Locale.ENGLISH)代码>所有关于本地的信息,或者您正在传递日期2013年12月1日
并带有空格。
请提供不带空格的正确日期,如2013年12月1日
,并尝试打印Locale.getDefault()
,如果您的默认值设置为类似于Korea的值,则肯定会出现此异常,然后尝试使用类似的值
DateFormat datetoDF=新的SimpleDateFormat(“MMM-dd-yyyy”,Locale.ENGLISH)代码>为我工作。你的准确密码<代码>系统输出(日期)
给出了2013-12-01 00:00:00.0奇怪。所以我必须深入挖掘。@R.J是他的所在地导致了这个问题。您的默认区域设置可能是English.worked for me。你的准确密码<代码>系统输出(日期)
给出了2013-12-01 00:00:00.0奇怪。所以我必须深入挖掘。@R.J是他的所在地导致了这个问题。您的默认区域设置可能是英语。