gpt4 book ai didi

java - 日期时间解析器的格式错误

转载 作者:行者123 更新时间:2023-12-04 05:49:07 26 4
gpt4 key购买 nike

我有这个方法:

public Date parseDate(String dateStr) {
try {
SimpleDateFormat sdfSource = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S z");
return sdfSource.parse(dateStr);
}
catch(Exception e) {
throw new RuntimeException("Error occurred while parsing date: " + dateStr);
}
}

我的单元测试如下:
public void testEDTDate() throws Exception {
DateFormatConverter converter = new DateFormatConverter();
Date date = converter.parseDate("2009-09-15 15:28:20.0 EDT");
System.out.println("Converted Date: " + date.toString());
}

输出是:
Wed Sep 16 02:28:20 ICT 2009

这导致单元测试失败。预期的结果是:
Tue Sep 15 15:28:20.0 EDT 2009

当它缺少第二个时,输出的格式也是错误的。我应该如何修复以按预期显示日期?

最佳答案

当你解析 date使用给定的格式,你不能指望 date.toString()返回相同的格式 - 它们无关。

您将需要使用 DateFormat#format(Date) 为了得到一个 String以给定的格式,否则您将获得系统/实现默认值。

关于java - 日期时间解析器的格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10299660/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com