gpt4 book ai didi

java.text.ParseException : Unparseable date: "11:00 PM, Sun 07 Oct 2018"

转载 作者:行者123 更新时间:2023-11-30 02:01:32 26 4
gpt4 key购买 nike

我已经尝试过下面的代码,但它不起作用。

请解释为什么它不起作用。

public static void main(String[] args) {
String ti = "11:30 PM, Sun 07 Oct 2018";
String sformat = "h:m a, E dd M yyyy";
String cformat = "hh:mm a";
String d = dateFormater(ti, cformat, sformat);
System.out.println(d);
}

public static String dateFormater(String dateFromJSON,
String expectedFormat, String oldFormat) {
SimpleDateFormat dateFormat = new SimpleDateFormat(oldFormat);
Date date = null;
String convertedDate = null;
try {
date = dateFormat.parse(dateFromJSON);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(expectedFormat);
convertedDate = simpleDateFormat.format(date);
} catch (Exception e) {
e.printStackTrace();
}

return convertedDate;
}

最佳答案

您的模式需求

  • MMM 因为月份采用短文本格式(M 仅用于月份编号,MMMM 用于长文本格式)

    String sformat = "h:m a, E dd MMM yyyy";
<小时/>

您应该考虑使用新的 time API:java.time 因为它更易于使用并且不需要额外的强制 try/catch:

public static String dateFormater(String dateFromJSON, String expectedFormat, String oldFormat) {
LocalDateTime date = LocalDateTime.parse(dateFromJSON, DateTimeFormatter.ofPattern(oldFormat, Locale.ENGLISH));
String newStr = date.format(DateTimeFormatter.ofPattern(expectedFormat, Locale.ENGLISH));
return newStr;
}

或单行:

public static String dateFormaterSh(String dateFromJSON, String expectedFormat, String oldFormat) {
return LocalDateTime.parse(dateFromJSON, DateTimeFormatter.ofPattern(oldFormat, Locale.ENGLISH))
.format(DateTimeFormatter.ofPattern(expectedFormat, Locale.ENGLISH));
}

关于java.text.ParseException : Unparseable date: "11:00 PM, Sun 07 Oct 2018",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52704431/

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