[英]incorrect conversion of String into date format
我正在嘗試將字符串格式化為特定的日期格式,但是轉換中存在一些問題。 在轉換后的字符串中,月份始終是“一月”。 以下是代碼段:
String date = "30/10/2012-11:11:11";
DateFormat dateForm = new SimpleDateFormat("dd/mm/yyyy-hh:mm:ss");
try {
System.out.println(dateForm.parse(date));
}
catch (ParseException e) {
e.printStackTrace();
}
我不知道背后的原因。 請提出建議。
正如其他人所說,您應該使用MM
幾個月-並且我強烈懷疑您總是要使用HH
幾個小時,而不是hh
。 HH
是24小時制; hh
是12小時制,通常與AM / PM指示符一起使用。
最后,您應該考慮希望SimpleDateFormat
使用哪個時區和語言環境。 即使在沒有任何月份或日期名稱的情況下,我仍然會明確指定語言環境,以明確表示您沒有嘗試使用任何本地化的數據。
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy-HH:mm:ss", Locale.US);
// TODO: Set the time zone appropriately
在格式字符串的日期部分使用MM
代替mm
。 mm
是幾分鍾,而不是幾個月。
參考: http : //docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
請使用"dd/MM/yyyy-hh:mm:ss"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.