2013-08-01 109 views
1

我如何轉換字符串,轉換日期和時間在java中

yyyy/MM/dd HH:mm:ss:SSS 

要,

MM/dd/yyyy HH:mm AM/PM 

希望我們的堆棧用戶會幫助我。

+3

http://docs.oracle。 com/javase/tutorial/i18n/format/simpleDateFormat.html和http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html – assylias

+0

第一個值是'String'或' Date'? [你有什麼嘗試?](http://mattgemmell.com/2008/12/08/what-have-you-tried/)你有沒有試過['SimpleDateFormat'](http://docs.oracle。 com/javase/7/docs/api/java/text/SimpleDateFormat.html) – MadProgrammer

+1

您可以解析第一種格式並將其作爲第二種格式。注意:在Java中'MM'表示月份,'mm'表示分鐘,'DD'不代表任何事情。 –

回答

1
public static void main(String[] args) throws ParseException { 
      SimpleDateFormat dfFrom = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S"), 
          dfTo = new SimpleDateFormat("MM/dd/yyyy hh:mm a"); 

      System.out.println(dfTo.format(dfFrom.parse("2013-01-02 14:59:27.953"))); 
    } 

問候,

AKDA

+0

您可能需要切換** MM **和** dd **,從您的示例中不清楚哪個部分是月份,哪個是當天 – AKDADEVIL

+0

得到了確切答案。謝謝。 –

0

你的時間格式是錯誤的MM爲月,毫米分鐘

MM/DD/YYYY HH:mm AM/PM 

代替

MM/DD/yyyy HH:MM AM/PM 

使用SimpleDateFormat

試試這個,

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM/DD/yyyy HH:mm a"); 
System.out.println("Formated Date : "+simpleDateFormat.format(new Date())); 
+0

我已更改。 –

1

如果你想簡單地改變輸出格式,你可以使用.format()SimpleDateFormat

SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); 
String s = new SimpleDateFormat("MM/dd/yyyy HH:mm a").format(simple); 

不指定,如果你真的想使用Date對象,但是,您可以使用上述方法執行所需的轉換。

如果您希望使用SimpleDateFormat,但實際上要更改內部格式,使用applyPattern()

simple.applyPattern("MM/dd/yyyy HH:mm a"); 
0

試試這個

String dateTime="2013-01-02 14:59:27.953"; 
    DateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.S"); 
    Date date=df.parse(dateTime); 
    df=new SimpleDateFormat("MM/DD/yyyy hh:mm a"); 
    System.out.println(df.format(date)); 
    } 
0
import java.text.ParseException; 
import java.text.SimpleDateFormat; 
import java.util.Date; 

public class Test { 
    Test() throws ParseException { 
    SimpleDateFormat sd = new SimpleDateFormat(); 
     String dateString = "2013-01-02 14:59:27.953"; 
     sd.applyPattern("yyyy-MM-dd HH:mm:ss.SSS"); 
     Date date = sd.parse(dateString); 
     sd.applyPattern("MM/dd/yyyy HH:mm a"); 
     System.out.println(sd.format(date)); 
    } 

    public static void main(String[] args) { 
     try { 
      new Test(); 
     } catch(ParseException e) { 
      System.err.println(e.getMessage()); 
     } 
    } 
}