gpt4 book ai didi

Java Date Parse 从一种格式到另一种格式

转载 作者:行者123 更新时间:2023-11-30 09:53:16 30 4
gpt4 key购买 nike

有没有一种方法可以在 Java 中确定类似于 .Net 的日期格式?

考虑以下示例:

private String reformatDateString(String dateParam){
if(dateParam == null || dateParam.isEmpty()){
return null;
}
try{
SimpleDateFormat inDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date fromDate = inDateFormat.parse(dateParam);

SimpleDateFormat outDateForm = new SimpleDateFormat("yy-MM-dd");
return outDateForm.format(fromDate);
} catch(ParseException e){
e.printStackTrace();
return null;
}
}

有没有更简单的方法让解析器知道 inDateFormat 而不是严格提供这两种格式?

最佳答案

我能想到的最好的方法是旧的Date(String)依赖静态方法的构造函数 Date.parse(String) .它实际上可能支持也可能不支持这些语法。

来自 Date.parse(String) 的 javadoc:

It accepts many syntaxes; in particular, it recognizes the IETF standard date syntax: "Sat, 12 Aug 1995 13:30:00 GMT". It also understands the continental U.S. time-zone abbreviations, but for general use, a time-zone offset should be used: "Sat, 12 Aug 1995 13:30:00 GMT+0430" (4 hours, 30 minutes west of the Greenwich meridian). If no time zone is specified, the local time zone is assumed. GMT and UTC are considered equivalent.

不幸的是,此方法已被弃用,取而代之的是显式要求日期格式,因此您需要使用辅助方法。您上面的代码已经是一个好的开始,所以我建议您只扩展现有的代码。 .NET 日期解析函数的文档可能列出了支持的格式。在您自己的实现中,将有明确的格式优先级并且没有歧义。

快速搜索显示了其他问题,表明 SimpleDateFormat 是解析日期的方式。参见 A non-deprecated exact equivalent of Date(String s) in Java?

关于Java Date Parse 从一种格式到另一种格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3915920/

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