簡體   English   中英

如何在android中將存儲在字符串中的日期和時間轉換為24格式時間?

[英]How to convert date and time stored in string to 24 format time in android?

我的日期和時間存儲在字符串中,即我的字符串包含str =“18/01/2013 5:00:00 pm”。 如何在android中將其轉換為24格式時間?

您可以使用兩個SimpleDateFormat實例:一個用於將輸入解析為日期,另一個用於將日期格式化為具有所需格式的字符串。

例如,下面代碼中的formattedDate將是18/01/2013 17:00:00

String str = "18/01/2013 5:00:00 pm";
SimpleDateFormat input = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss a");
Date dt = input.parse(str);

SimpleDateFormat output = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
String formattedDate = output.format(dt); //contains 18/01/2013 17:00:00

筆記:

  • hh是上午/下午(1-12)的小時,而HH是白天的小時(0-23)。
  • 有關更多格式選項,請檢查javadoc

嘗試

    String str ="18/01/2013 5:00:00 pm";
    Date date = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss a").parse(str);
    str = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(date);
    System.out.println(str);

產量

18/01/2013 17:00:00

要獲得AM PM和12小時日期格式,請使用hh:mm:ss a作為字符串格式化程序WHERE hh表示12小時格式, a表示AM PM格式。

注意: HH為24小時,hh為12小時日期格式

SimpleDateFormat formatter = new SimpleDateFormat("mm/dd/yyyy hh:mm:ss a");
            String newFormat = formatter.format(testDate);

String date = "18/01/2013 5:00:00 pm";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/mm/dd HH:MM:SS");
        Date testDate = null;
        try {
            testDate = sdf.parse(date);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        SimpleDateFormat formatter = new SimpleDateFormat("mm/dd/yyyy hh:mm:ss a");
        String newFormat = formatter.format(testDate);
        System.out.println(".....Date..."+newFormat);

您可以使用SimpleDateFormat:

SimpleDateFormat dateFormat = new SimpleDateFormat(dd/mm/yyyy HH:mm:ss");

請參閱該是相反的要求。 剛剛發布鏈接,這樣你就可以了解HH和hh所帶來的差異。

嘗試使用java SimpleDateFormat類。

例:

SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
df.parse(date);

大寫HH使用24小時格式

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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