将字符串转换为日期时的偏移量

Offset when converting String to Date

我必须将字符串转换为日期。 为此,我正在使用:

    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd");
    Date date = formatter.parse( "2016-01-26" );
    System.out.println("Date:"+date);

但我得到的输出是日期:

Tue Jan 26 00:01:00 IST 2016

而不是日期:

Tue Jan 26 00:00:00 IST 2016.

任何人都可以解释为什么我得到 1 分钟 (00:01:00) 的偏移

尝试使用格式 yyyy-MM-dd.

mm 是分钟MM 是月

public static void main(String[] args) throws ParseException {
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        Date date = formatter.parse("2016-01-26");
        System.out.println("Date:" + date);
    }

输出

Date:Tue Jan 26 00:00:00 IST 2016

您需要设置'MM'。小 'mm' 用于分钟。请检查下面的 link 所有格式

试试这个代码。

    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
    Date date = formatter.parse( "2016-01-26" );
    System.out.println("Date:"+date);

检查以下格式


y = 年
Q = 季度
M = 月
w = 一年中的第几周
W = 一个月中的第几周
d = 一个月中的第几天
D = 一年中的第几天
E = 星期几
a = 时间段(上午或下午)
h = 小时 (1-12)
H = 小时 (0-23)
米=分钟
s = 秒