Java String to Date对象格式为"yyyy-mm-dd HH:mm:ss"

Yes*_*ota 23 java string date simpledateformat

我需要将包含日期的String转换为日期对象.字符串的格式为"yyyy-mm-dd HH:mm:ss.SSSSSS",我想在日期对象中使用相同的格式.

例如,我有一个字符串"2012-07-10 14:58:00.000000",我需要生成的日期对象具有相同的格式.

我已经尝试了以下方法,但结果并不像预期的那样.

java.util.Date temp = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss.SSSSSS").parse("2012-07-10 14:58:00.000000");

DateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");
                Date thisDate = dateFormat.parse("2012-07-10 14:58:00.000000");
Run Code Online (Sandbox Code Playgroud)

结果是"Tue Jan 10 14:58:00 EST 2012".请让我知道我哪里出错了.

谢谢,Yeshwanth Kota

Woo*_*Moo 49

java.util.Date temp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS").parse("2012-07-10 14:58:00.000000");
Run Code Online (Sandbox Code Playgroud)

mm是你想要的分钟MM

public class Test {

    public static void main(String[] args) throws ParseException {
        java.util.Date temp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS")
                .parse("2012-07-10 14:58:00.000000");
        System.out.println(temp);
    }
}
Run Code Online (Sandbox Code Playgroud)

打印:

Tue Jul 10 14:58:00 EDT 2012


Ed *_*oor 9

备查:

 yyyy => 4 digit year
 MM   => 2 digit month (you must type MM in ALL CAPS)
 dd   => 2 digit "day of the month"

 HH   => 2-digit "hour in day" (0 to 23)
 mm   => 2-digit minute (you must type mm in lowercase)
 ss   => 2-digit seconds
 SSS  => milliseconds
Run Code Online (Sandbox Code Playgroud)

所以“yyyy-MM-dd HH:mm:ss”返回“2018-01-05 09:49:32”

但是“MMM dd, yyyy hh:mm a”返回“Jan 05, 2018 09:49 am”

https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html 上的所谓示例仅显示输出。他们没有告诉你使用什么格式!