首页 > 解决方案 > 解析显示错误日期的日期

问题描述

我正在尝试将以下字符串解析为日期,但显示的日期错误

import java.text.SimpleDateFormat;
import java.util.Date;

public class Dateformat {
    public static void main(String[] args) throws Exception {
        String sDate1 = "2018-10-05T00:00:00-05:00";
        Date date1 = new SimpleDateFormat("yyyy-mm-dd").parse(sDate1);
        System.out.println(sDate1 + "\t" + date1);
    }
}

怀疑:如果模式与输入字符串不匹配,为什么它甚至可以工作?

其次,为什么它显示错误的日期?

Output : 2018-10-05T00:00:00-05:00  Fri Jan 05 00:10:00 IST 2018

请提出建议

标签: javadatesimpledateformat

解决方案


m 是小时中的分钟

尝试

String sDate1 = "2018-10-05T00:00:00-05:00";
Date date1 = new SimpleDateFormat("yyyy-MM-dd").parse(sDate1);
System.out.println(sDate1 + "\t" + date1);

输出

2018-10-05T00:00:00-05:00 周五 10 月 5 日 00:00:00 JST 2018


推荐阅读