26

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

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

谢谢, Yeshwanth Kota

4

5 回答 5

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

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

印刷:

2012 年 7 月 10 日星期二 14:58:00 EDT

于 2012-12-17T18:00:55.320 回答
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

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

于 2018-01-05T14:47:34.420 回答
2
于 2018-01-05T16:21:06.823 回答
2

您没有应用日期格式化程序。相反,您只是在解析日期。以这种格式获得输出

yyyy-MM-dd HH:mm:ss.SSSSSS

我们必须使用 format() 方法,这里是完整的例子:- 这是完整的例子:- 它将采用这种格式的日期,yyyy-MM-dd HH:mm:ss.SSSSSS 结果我们将得到与这种格式相同的输出yyyy-MM-dd HH:mm:ss.SSSSSS

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

//TODO OutPut should LIKE in this format yyyy-MM-dd HH:mm:ss.SSSSSS.
public class TestDateExample {

public static void main(String args[]) throws ParseException {

    SimpleDateFormat changeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS");

    java.util.Date temp = changeFormat.parse("2012-07-10 14:58:00.000000");
     Date thisDate = changeFormat.parse("2012-07-10 14:58:00.000000");  
    System.out.println(thisDate);
    System.out.println("----------------------------"); 
    System.out.println("After applying formating :");
    String strDateOutput = changeFormat.format(temp);
    System.out.println(strDateOutput);

}

}

工作示例屏幕

于 2018-07-14T06:21:57.497 回答
0

它对我的工作 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); sdf.format(新日期));

于 2019-03-01T13:23:59.663 回答