2013-12-16 157 views
1

我將TimeStamp作爲字符串輸入。我必須將其轉換爲另一種格式的字符串。用Java格式化日期

例如:

input string : 2013-12-23 20:59:15.0

output string: 2013/12/23

所以我寫了一個小型的Java程序做到這一點:

public class test { 
    public static void main(String[] args) throws ParseException 
    { 
     DateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss.SS"); 
     String x ="2013-12-23 20:59:15.0"; 

     Date parsedDate = dateFormat.parse(x); 

     Format formatter = new SimpleDateFormat("yyyy/MM/dd"); 

     String y = formatter.format(parsedDate); 

     System.out.println(y); 
    } 
} 

現在不管輸入的是什麼,當月值總是回到1

例如:

input string : 2013-12-23 20:59:15.0

output string: 2013/01/23

又如:

input string : 2012-05-23 20:59:15.0

output string: 2012/01/23

我在這裏錯過了什麼嗎?

+2

務必閱讀的javadoc。 –

回答

1

yyyy-mm-dd應該yyyy-MM-dd

基本上,你每月元素轉換分鐘。

m分鐘小時數30
M月份月份月份7月; 7月; 07

看看SimpleDateFormat更多細節

1
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SS"); 
0
import java.sql.Date; 
import java.text.ParseException; 
import java.text.SimpleDateFormat; 

public class Dateformat 

{ 
    public static void main(String [] args) throws ParseException 
    { 
     String oldstring = "2013-11-15 00:00:00.0"; 

     java.util.Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").parse(oldstring); 

     String newstring = new SimpleDateFormat("yyyy-MM-dd").format(date); 

     System.out.println(newstring); 

    } 

} 

輸出

2013年11月15日