簡體   English   中英

不正確地將字符串轉換為日期格式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM