java - SimpleDateFormat.parse()

标签 java

SimpleDateFormat.parse() 在格式为 MM/dd/yyyy 时接受日期 003/1/2011。尝试使用以下代码:

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
sdf.setLenient(false);
Date dt2;
try
{
    dt2 = sdf.parse(_datemmddyyyy);
}
catch (ParseException e)
{
    return false;
}

并且日期被解析为 00/11/2011。怎么了?

最佳答案

你确定吗?这:

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
sdf.setLenient(false);
Date dt2 = sdf.parse("003/1/2011");
System.out.println(dt2);

产量:

Tue Mar 01 00:00:00 PST 2011

那是 MM/dd/yyyy 中的 03/01/2001。好像对吧?

关于java - SimpleDateFormat.parse(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5801465/

相关文章:

java - Java 的最佳 OpenID 库

javascript - Java 中的等效数据结构?

java - 如何消除圈复杂度

java - java.lang.System.properties 的内容是否随区域设置而变化?

java - 尝试使用 kinvey 将图像从 Android 应用程序上传到云

java.lang.VerifyError : Bad type on operand stack

java - Spring Mongo聚合项目过滤器

java - 我可以帮忙将一些错误消息转化为有形信息吗?

java - 如何使用 LibGDX 生成透明的 PNG 图像?

java - bouncy caSTLe 相当于 openssl pkcs10 证书签名命令