Java Date,字符串转换为Date对象

时间:2013-07-06 20:53:11

标签: java

我有一个问题,如何将20130706123020之类的字符串转换为日期对象。 所以我将字符串20130706123020转换为日期对象,如下所示:

  

2013-07-06 12:30:20

尝试过的代码:

String date = "20130706234310";
Date date1 = new SimpleDateFormat("yyyy-m-d H:m:s").parse(date);
System.out.println(date1);

任何建议都将受到赞赏。

谢谢!

3 个答案:

答案 0 :(得分:4)

您必须先使用SimpleDateFormat中的parse方法String parse {。}}。

然后将Date方法返回的parse对象传递给另一个SimpleDateFormat,然后使用format方法获取所需格式的日期。

String s = "201307061230202";

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); // format in which you get the String
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // format in which you want the date to be in
System.out.println(sdf1.format(sdf.parse(s)));

小时字段中HHhhKKkk的重要性不同。我使用HH你可以根据你的要求使用它。

H   Hour in day (0-23)
k   Hour in day (1-24)
K   Hour in am/pm (0-11)
h   Hour in am/pm (1-12) 

答案 1 :(得分:1)

使用它:

  

long int my_date = 20130706123020L

之后:

  

String date_Text = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”)。format(new Date(my_date));

答案 2 :(得分:1)

使用SimpleDateFormat

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmmss"); 
Date date = sdf.parse("20130706123020");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 

System.out.println(sdf2.format(date));