2014-05-20 95 views
2
string : 2014-04-25 17:03:13 

使用SimpleDateFormat是否足以格式化? 或 否則我會轉向任何新的API?將字符串轉換爲日期和時間爲am/pm格式

Date date = new Date(string); 
DateFormat dateFormat = new SimpleDateFormat ("yyyy-MM-dd"); 
out.println(dateFormat.format (date)); 

我預期的結果是(印度區):

Date : 25-04-2014 
Time : 05:03 PM 
+0

你需要至少兩個'SimpleDateFormat'對象 - 一個解析初始字符串,和一個(或者兩個)的結果進行格式化。 –

+0

要麼有兩種日期格式:一種是時間和一種是日期。或者擴展simpledateformat並添加你的方法。 – Hirak

回答

13

記住,Date對象沒有固有的格式,你需要兩個DateFormat對象產生你所尋求的結果 - 一個分析和另一個格式:

String input = "2014-04-25 17:03:13"; 
DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
DateFormat outputFormat = new SimpleDateFormat("'Date : 'dd-MM-yyyy\n'Time : 'KK:mm a"); 
System.out.println(outputFormat.format(inputFormat.parse(input))); 

輸出:

Date : 25-04-2014 
Time : 05:03 PM 

請注意格式中引用序列的使用,例如"'Date : '",在格式模式中將其視爲文字。

+0

實際上,該字符串來自mysql數據庫作爲日期時間數據類型:rs.getDate(「column」);你能告訴我如何處理? – Developer

+0

'getDate()'返回一個'java.sql.Date',它的時間部分設置爲'00:00:00'。而是使用'getTimestamp()',如下所示:'outputFormat.format(rs.getTimestamp(「column」))' – Bohemian

+0

java.sql.Time類對象以am/pm格式存儲時間。如果是的話如何? – Shuddh

0
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm a"); 

更多的模式,你可以找到here

0

下面的示例代碼儘量給出:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
Date date = new Date(); 
System.out.println(dateFormat.format(date)); 
//Output: 2013-05-20 10:16:44 

有關數據更多的功能和時間嘗試Joda-Time API

3

我定製onTimeSet()函數。發送hourminutes到它。它將返回的時間format am and pm

public static String onTimeSet(int hour, int minute) { 

    Calendar mCalen = Calendar.getInstance();; 
     mCalen.set(Calendar.HOUR_OF_DAY, hour); 
     mCalen.set(Calendar.MINUTE, minute); 

     int hour12format_local = mCalen.get(Calendar.HOUR); 
     int hourOfDay_local = mCalen.get(Calendar.HOUR_OF_DAY); 
     int minute_local = mCalen.get(Calendar.MINUTE); 
     int ampm = mCalen.get(Calendar.AM_PM); 
     String minute1; 
     if(minute_local<10){ 

     minute1="0"+minute_local; 
     } 
     else 
      minute1=""+minute_local; 

     String ampmStr = (ampm == 0) ? "AM" : "PM"; 
     // Set the Time String in Button 

     if(hour12format_local==0) 
     hour12format_local=12; 



String selecteTime=hour12format_local+":"+ minute1+" "+ampmStr; 

retrun selecteTime; 


} 
相關問題