格式为“y-mm-dd HH:mm:ss”的 Java String to Date 对象

2022-09-01 15:04:10

我需要将包含日期的字符串转换为日期对象。字符串的格式为“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");

其结果是 “星期二 1 月 10 14:58:00 EST 2012”。请让我知道我哪里错了。

谢谢,耶什万特·科塔


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

这是你想要的分钟mmMM

法典

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);
    }
}

指纹:

周二 7月 10 14:58:00 EDT 2012


答案 2

供将来参考:

 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

因此,“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 中所谓的示例仅显示输出。他们不会告诉你使用什么格式!