首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SimpleDateFormatter不认识月份

SimpleDateFormatter不认识月份
EN

Stack Overflow用户
提问于 2011-05-13 13:09:44
回答 4查看 573关注 0票数 5

我想解析一个日期字符串,但不幸地失败了。为了说明我的问题,我编写了这个简单的JUnit测试:

代码语言:javascript
运行
复制
@Test
public void testParseJavaDate() throws ParseException {     
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD_HH-mm-ss", Locale.GERMAN);

    String inputtime = "2011-04-21_16-01-08";
    Date parse = sdf.parse(inputtime);

    assertEquals(inputtime,sdf.format(parse));
}

此测试在以下消息中失败:

org.junit.ComparisonFailure:预期:<2011-04-21_16-01-08>,但<2011-01-21_16-01-08>

我不明白格式化程序为什么不能正确解析日期。你有什么想法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-13 13:13:02

您需要"dd“(月中的日期),而不是"DD”(年中的日期):

代码语言:javascript
运行
复制
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss", Locale.GERMAN);
票数 6
EN

Stack Overflow用户

发布于 2011-05-13 13:16:48

SimpleDateFormat sdf =新的SimpleDateFormat(“yyyy_HH”,Locale.GERMAN);

代码语言:javascript
运行
复制
String inputtime = "2011-04-21_16-01-08";
Date parse = sdf.parse(inputtime);

使用DD代替dd。

票数 8
EN

Stack Overflow用户

发布于 2011-05-13 13:13:32

使用d而不是D,因为D是“一年中的一天”,因此月份必须与一年中的第21天(即1月)相匹配。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5992331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档