iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 17
0

<< 接續上篇

Method


SimpleDateFormat

一個繼承 DateFormat 這個抽象類別的類別
用來格式化(將日期轉為字串)或解析(將字串轉回日期)日期時間的類別

  • 時間格式

    用來格式化或解析的依據

    幾個常用的時間格式如下:

    • y:年,須為小寫。

      y、yyy、yyyy - 轉換為 4 位完整的年,如:"2018"
      yy - 轉換為年份後兩位,如:"18"
      超過 4 位的話會在前面補 0,例如: yyyyy > "02018"

      大寫 Y 為 Week ,某些情況轉換出來的年會不同。
      可參考 stackoverflow

    • M:月,需為大寫。(小寫為時間的分)

      在英文語系地區下(Locale.US)

      M - 若個位數會轉換為 1 位數字,兩位數轉換為 2 位,如:"9"、"10"
      MM - 轉換為兩位數字,如:"09"
      MMM - 轉換為三個字符的月,如:"Sep"
      MMMM 或更多位 - 轉換為月份英文,如:"September"

      在中文語系下(Locale.TAIWAN)

      MMM - 轉換為數字加月,如:"10月"
      MMMM 或更多位 - 轉換為中文數字加月,如:"十一月"

      關於 Locale 對轉換的影響可參考 參考資料 1參考資料 2(4 樓回覆)

    • d:月分中的日,需為小寫。

      d - 若個位數會轉換為 1 位數字,兩位數轉換為 2 位,如:"9"、"10"
      dd - 轉換為 2 位數字,如:"01"
      超過 2 位的話會在前面補 0,例如:dddd > "0001"

      大寫 D 為一年中的第幾天(Day Of Year)

    • H:小時,大寫時範圍為 0~23(24 小時制)
      h:小時,小寫時範圍為 1~12(12 小時制)

      以下午 3 點為例:
      H、HH:"15"/HHH:"015"
      h:"3"   /hh:"03"

    • m:分,需為小寫。
      m:若個位數會轉換為 1 位數字,兩位數轉換為 2 位,如:"9"、"10"
      mm:轉換為 2 位數字,如:"09"
      超過 2 位的話會在前面補 0,例如:mmm > “009”

  • 實例化 SimpleDateFormat

    • SimpleDateFormat ()

      實例化使用預設轉換格式與預設地區格式的 SimpleDateFormat

      • 轉換格式:想要的轉換格式,例如:"yyyy/MM/dd HH:mm"

      • 地區格式:會影響上面提到的部分格式,例如月的格式。

    • SimpleDateFormat (pattern: String)

      實例化使用指定的轉換格式與預設地區格式的 SimpleDateFormat

      • pattern:指定的轉換格式,例如:"yyyy/MM/dd HH:mm"
    • SimpleDateFormat (pattern: String, locale: Locale)

      實例化使用指定的轉換格式與指定的地區格式的 SimpleDateFormat

      • pattern:指定的轉換格式,例如:"yyyy/MM/dd HH:mm"

      • locale:指定地區,例如:Locale.TAIWAN

      val time = SimpleDateFormat("HH : mm", Locale.TAIWAN)
      
    • SimpleDateFormat (String: pattern, formatSymbols: DateFormatSymbols)

      實例化使用指定的轉換格式與日期顯示格式的 SimpleDateFormat

      • pattern:指定的轉換格式,例如:"yyyy/MM/dd HH:mm"

      • formatSymbols:日期顯示格式,例如 Locale.TAIWAN 的「二月」或 Locale.US 的「Sep」

查看詳細 Code > GitHub

tags: Android Kotlin SimpleDateFormat

接下來關於 DatePickerDialog 及 TimePickerDialog 請參考 下篇 >>


上一篇
Android Kotlin 實作 Day 11:DAY11_Alarm(上)(Calendar)
下一篇
Android Kotlin 實作 Day 11:DAY11_Alarm(下)(DatePickerDialog+TimePickerDialog)
系列文
英國研究顯示,連續30天用Kotlin開發Android將有益於身心健康30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言