8
A
回答
19
一種方法做的是它解析爲一個日期對象,並再次將其重新格式化:
try {
DateFormat f = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
Date d = f.parse("8/29/2011 11:16:12 AM");
DateFormat date = new SimpleDateFormat("MM/dd/yyyy");
DateFormat time = new SimpleDateFormat("hh:mm:ss a");
System.out.println("Date: " + date.format(d));
System.out.println("Time: " + time.format(d));
} catch (ParseException e) {
e.printStackTrace();
}
如果你只是想將它切成日期時間段,只需用拆分獲得片
String date = "8/29/2011 11:16:12 AM";
String[] parts = date.split(" ");
System.out.println("Date: " + parts[0]);
System.out.println("Time: " + parts[1] + " " + parts[2]);
或
String date = "8/29/2011 11:16:12 AM";
System.out.println("Date: " + date.substring(0, date.indexOf(' ')));
System.out.println("Time: " + date.substring(date.indexOf(' ') + 1));
但這種方法是脆弱的。
1
試試這個,
String main = "8/29/2011 11:16:12 AM";
String[] tmp;
String date, time;
tmp = main.split(" ");
// [0] = 8/29/2011
// [1] = 11:16:12
// [2] = AM
date = tmp[0].toString(); // 8/29/2011
time = tmp[1].toString() + " " + tmp[2].toString(); // 11:16:12 AM
謝謝...
0
嘗試在java中拆分功能下面的代碼:
String my_string="8/29/2011 11:16:12 AM"
String [] my_date_time = null;
my_date_time = my_string.split(" ");
String Date_str=my_date_time[0];
String Time_str=my_date_time[1]+" "+my_date_time[2];
您獲取變量字符串這樣DATE_STR =「8月29日/ 2011「和Time_str =」11:16:12 AM「
1
String str = "8/29/2011 11:16:12 AM"
String date = str.subString(0, str.indexOf(' '));
String time = str.subString(str.indexOf(' ')+1);
希望它能幫助你。 :)
0
您可以通過拆分您的字符串做它分成兩子,如下
String main = "8/29/2011 11:16:12 AM";
String s[] = main.split(" ",2);
String date = s[0];
String time = s[1];
注意:在第二個參數中提到的splite方法將字符串分割成兩個部分。
0
爲什麼不使用DateFormat?
檢查http://docs.oracle.com/javase/7/docs/api/java/text/DateFormat.html
String str = "8/29/2011 11:16:12 AM";
String fmt = "MM/dd/yyyy HH:mm:ss a";
DateFormat df = new SimpleDateFormat(fmt);
Date dt = df.parse(str);
DateFormat tdf = new SimpleDateFormat("HH:mm:ss a");
DateFormat dfmt = new SimpleDateFormat("MM/dd/yyyy");
String timeOnly = tdf.format(dt);
String dateOnly = dfmt.format(dt);
它提供了更多的工作/代碼,但它是這樣做的正確方法。
0
mDate = new Date();
DateFormat timeFormat = SimpleDateFormat.getTimeInstance();
DateFormat dateFormat = SimpleDateFormat.getDateInstance();
timeFormat.format(mDate); // formats to: 4:53:03 AM
dateFormat.format(mDate); // formats to: Oct 16, 2014
+0
請解釋您的答案,而不是隻發佈「嘗試這種」類型的解決方案。 – Gary 2014-10-16 09:26:55
相關問題
- 1. 如何從日期時間戳的時間和日期在PHP
- 2. 從日期時間到時間戳python
- 3. PHP日期和時間戳
- 4. 日期到Unix時間戳
- 5. 日期到時間戳nanos
- 6. 如何日期和時間轉換成日期時間/時間戳
- 7. 時間戳和日期時間
- 8. 時間戳到長日期時間
- 9. 時間戳,日期,時間或日期時間是哪個?
- 10. 分離的日期和時間的日期時間戳
- 11. 將日期和時間轉換爲日期+時間戳
- 12. 如何從黑莓時間戳得到日期?
- 13. Sqoop - 日期 - 時間戳
- 14. 按時間戳日期組
- 15. PHP日期時間戳
- 16. mysql時間戳或日期時間
- 17. Unix時間戳VS日期時間
- 18. Eloquent:只獲得時間戳的日期
- 19. 將日期,日期時間轉換爲時間戳
- 20. PL SQL - 轉換時間戳的日期時間/日期
- 21. 如何從另一個日期時間減去日期時間?
- 22. 如何從日期時間
- 23. 如何從Unix時間戳設置日期/時間在bash
- 24. 如何獲得日期和時間zendframework
- 25. 如何將日期變爲時間戳
- 26. 從時間戳時區之間進行選擇(日期時間)
- 27. 從系統中拆分日期和時間::日期時間
- 28. 從MySQL日期時間轉換到Coldfusion日期時間
- 29. 從日期時間到日期沒有時間在PHP
- 30. 從日期時間(Joda時間)到日期(java.util)的轉換
當我得到這種類型的字符串時,我將它減去並創建一個Date對象。但也許有更簡單的方法。 – goodm 2012-03-27 09:32:28