我得到了String
像這樣:2013-04-19
,我想將其更改爲:April 19th 2013
。我知道Java中有一些類,如SimpleDateFormat
,但我不知道我應該使用什麼樣的函數。也許我需要選擇類Pattern
?我需要一些幫助。將字符串日期更改爲另一個字符串日期
1
A
回答
2
嘗試以下,這應該給你正確的 「日」, 「ST」, 「RD」和「nd」幾天。
public static String getDayOfMonthSuffix(final int n) {
if (n >= 11 && n <= 13) {
return "th";
}
switch (n % 10) {
case 1: return "st";
case 2: return "nd";
case 3: return "rd";
default: return "th";
}
}
public static void main(String[] args) throws ParseException {
Date d = new SimpleDateFormat("yyyy-MM-dd").parse("2013-04-19");
int day = Integer.parseInt(new java.text.SimpleDateFormat("dd").format(d));
SimpleDateFormat sdf = new SimpleDateFormat("MMMMM dd'" + getDayOfMonthSuffix(day) + "' yyyy");
String s = sdf.format(d);
System.out.println(s);
}
這將只是利用的SimpleDateFormat 類解析方法試試這個打印April 19th 2013
(改編自this post日終止)
+0
謝謝,我會盡快嘗試。 – Tsunaze
+0
它還會顯示「13rd」和「12nd」 –
1
試試這個:
String originalDate = "2013-04-19";
Date date = null;
try {
date = new SimpleDateFormat("yyyy-MM-dd").parse(originalDate);
} catch (Exception e) {
}
String formattedDate = new SimpleDateFormat("MMMM dd yyyy").format(date);
將不打印ST,第二,第三等
1
:
new SimpleDateFormat("MMM dd YYYY").parse("2013-04-19");
相關問題
- 1. 將字符串類型日期更改爲日期字符串
- 2. 將字符串更改爲日期
- 3. 如何將日期字符串更改爲其他日期字符串
- 4. 將日期(字符串)到另一個日期格式(字符串)
- 5. 在MongoDB中將字符串日期更改爲ISO日期?
- 6. 如何將MySQL日期格式更改爲字符串日期
- 7. 將字符串轉換日期到另一個日期格式
- 8. 解析日期字符串(字符串轉換爲日期)
- 9. 將字符串轉換爲日期並將日期轉換回字符串
- 10. 轉換日期爲字符串,將字符串和逆變換爲日期SQL
- 11. 數字日期到字符串日期
- 12. 將日期字符串轉換爲帶日期的ISO日期
- 13. Mysql:日期爲字符串
- 14. 從一個字符串轉換爲另一個字符串的日期
- 15. 從字符串更改日期格式
- 16. 更改字符串到日期
- 17. 更改日期字符串月和
- 18. 更改日期字符串的格式
- 19. 將日期作爲字符串轉換爲日期作爲另一種格式的字符串
- 20. 將日期字符串轉換爲具有不同格式的另一個日期字符串
- 21. 串連日期字符串
- 22. 如何將日期和時間字符串轉換爲日期字符串?
- 23. Javascript - 將序列化日期字符串轉換爲短日期字符串
- 24. 如何將字符串日期轉換爲不同的字符串日期?
- 25. 將日期字符串轉換爲需要的日期字符串格式
- 26. 如何將字符串轉換爲日期和日期字符串?
- 27. 字符串到日期+治療+日期字符串
- 28. 日期到字符串,字符串日期錯誤的Java
- 29. 日期到字符串<->字符串到日期
- 30. 從json日期字符串中提取日期到字符串
你可以從這裏開始閱讀關於它:http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html – home
快速查看任何SimpleDateFormat的例子將需要「解析」,然後將字符串「格式化」爲日期並返回字符串 –
此外,您必須編寫自定義方式來說'19th',因爲它在SimpleDateFormat中不是標準的'。 –