Java:如何正确解析字符串到日期?

标签 java date parsing

我尝试从字符串中解析日期:

String dateString = "Fr, 1. Jan";
DateFormat format = new SimpleDateFormat("EE, d. MMM");
Date date = null;
try {
    date = format.parse(dateString);
} catch (Exception e) {
    e.printStackTrace();
}
System.out.println(format.format(date));

我得到的输出是这些:

Do, 1. Jan

为什么会发生这种情况,为什么输出与输入不同?

最佳答案

你忘记了年份。当您解析它时,您将得到 1970 年(星期五将被忽略)。当您向后解析时,您将解析日期 1970 年 1 月 1 日,这是一个星期四。这应该有效:

    String dateString = "Fr, 1. Jan";
    DateFormat format = new SimpleDateFormat("EE, d. MMM");
    Date date = null;
    try {
        date = format.parse(dateString);
    } catch (Exception e) {
        e.printStackTrace();
    }
    date.setYear(new Date().getYear()); //alternativ: date.setYear(2016);

    System.out.println(date);
    System.out.println(format.format(date));

关于Java:如何正确解析字符串到日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35040945/

相关文章:

javascript 日期比较

jsp - 在JSP中获取今天的日期并将其与Date变量进行比较

正则表达式匹配 JCL 工作卡或整张卡的最后一行

json - 如果嵌套内容使用动态键,我如何在 GoLang 中解析 JSON?

java - 媒体元数据检索器 JNI : getEmbeddedPicture failed

java - 我如何检测java中的箭头键?

java - 来自 java 的 Windows 性能计数器

java - 在 Java 中拆分 InputStream 接收的字符串

php - 如何从 MySql 的表单中转换日期

c# - 在 C#/.Net 中解析 Lua 数据结构的最简单方法