字符串日期到LocalDate的转换

JAVA_CAT:

我的应用程序给出了一种日期格式,我正在尝试将该字符串转换为LocalDate。这是我的代码

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class DateStringUtil {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd/MM/yyyy hh:mm");
        //SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm");
        String date ="26 Aug 2019 09:46:09,469";
        LocalDate ld = LocalDate.parse(date, dtf);


    }

}

我出错了。任何想法如何解决它。

Exception in thread "main" java.time.format.DateTimeParseException: Text '26 Aug 2019 09:46:09,469' could not be parsed at index 2
at java.time.format.DateTimeFormatter.parseResolved0(Unknown Source)
at java.time.format.DateTimeFormatter.parse(Unknown Source)
at java.time.LocalDate.parse(Unknown Source)
at src.DateStringUtil.main(DateStringUtil.java:24)
比利·布朗(Billy Brown):

您的日期时间格式与输入日期不匹配:

  • 您的格式要求使用以下格式的日期dd/MM/yyyy hh:mm26/08/2019 09:46
  • 您的日期字符串是格式中的日期dd MMM yyyy hh:mm:ss,SSS26 Aug 2019 09:46:09,469

Java DateTimeFormatter文档提供了有关您可以使用的模式的更多信息:https : //docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html

编辑:如果您随后想要以其他格式输出本地日期,请创建第二个日期DateTimeFormatter并将其传递给format方法。

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class DateStringUtil {
    public static void main(String[] args) {
        DateTimeFormatter inputDtf = DateTimeFormatter.ofPattern("dd MMM yyyy HH:mm:ss,SSS");
        String date = "26 Aug 2019 09:46:09,469";
        LocalDateTime ld = LocalDateTime.parse(date, inputDtf);

        DateTimeFormatter outputDtf = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm");
        String outputDate = ld.format(outputDtf);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章