如何将字符串转换为格式的日期yyyy-MM-dd HH:MM:ss

spa*_*row 2 java date simpledateformat

我有一个类似的字符串"2015-07-16 17:07:21".我想将其转换为相同格式的日期.我试过这样的事情:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss");
Date date = sdf.parse("2015-07-16 17:07:21"); 
Run Code Online (Sandbox Code Playgroud)

但输出的格式不同Thu Jul 16 17:00:21 IST 2015.我怎样才能让它按需要运行.谁能帮我.我知道这可能是重复但我没有找到任何运气.

sin*_*air 10

来自Java API https://docs.oracle.com/javase/8/docs/api/java/util/Date.html

Date类表示特定的时刻,精度为毫秒.

试着去理解的差异/连接DateDateFormat.

public static void main(String [] args) throws ParseException{
    String dateString = "2015-07-16 17:07:21";
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    // use SimpleDateFormat to define how to PARSE the INPUT
    Date date = sdf.parse(dateString);

    // at this point you have a Date-Object with the value of
    // 1437059241000 milliseconds
    // It doesn't have a format in the way you think

    // use SimpleDateFormat to define how to FORMAT the OUTPUT
    System.out.println( sdf.format(date) );

    sdf = new SimpleDateFormat();
    System.out.println( sdf.format(date) );

  // ....
}
Run Code Online (Sandbox Code Playgroud)

输出:(请注意,日期保持不变,只是其表示(格式)更改)

2015-07-16 17:07:21
7/16/15 5:07 PM
Run Code Online (Sandbox Code Playgroud)