gpt4 book ai didi

java - 解析日期、CET 与 CEST、无效时区、不可解析

转载 作者:行者123 更新时间:2023-11-30 10:42:50 24 4
gpt4 key购买 nike

我正在使用 shannah 的数据访问库通过他的 DAO 接口(interface)访问我的对象。

当我的东西在数据库中时调用 unmap 方法时,我在解析日期值时遇到了一个非常奇怪的行为。它仅在 CEST(中欧夏令时)时失败

我尝试使用 NumberUtil.dateValue 方法来解析它,但它仍然失败...

 java.lang.RuntimeException: Failed to parse string date format Thu Mar 31 00:00:00 CEST 2016.  Could not find appropriate format parser.

我将 DateFormat 定义为这些

        dateFormats[0] = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
dateFormats[1] = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy");
dateFormats[2] = new SimpleDateFormat("EEE MMM dd HH:mm:ss ZZZZ yyyy");
dateFormats[3] = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy");

还尝试修剪字符串,但没有帮助。

我没有想法,因为 SDF 没有像普通 JDK 那样的构造函数,第二个参数是 Locale。

最佳答案

// Method that take date time string , input pattern and out put pattern,that return formatted date as string

public String parseDate(String dateTime,String inputPattern, String outputPattern) throws ParseException {

SimpleDateFormat inputFormat = new SimpleDateFormat(inputPattern, Locale.ENGLISH);
SimpleDateFormat outputFormat = new SimpleDateFormat(outputPattern);

Date date = inputFormat.parse(dateTime);
String str = outputFormat.format(date);

return str;
}
// call method
String date = parseDate("Thu Mar 31 00:00:00 CEST 2016" ,"EEE MMM dd HH:mm:ss zzz yyyy", "MM-dd-yyyy:HH:mm:ss");

// print date
System.out.println(date);

// Result
03-31-2016:03:00:00

关于java - 解析日期、CET 与 CEST、无效时区、不可解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37963229/

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