🦤

Swift DateIntervalFormatter フォーマットまとめ

2021/08/08に公開

DateIntervalFormatterのdateStyle, timeStyleの一覧を探しましたが見つからなかったのでまとめてみました
日付を跨ぐと若干表示が変わるようなので、両方まとめました

使用したSwiftのバージョンは5.4.2です

日付をまたがない場合

使用した日付: 2200/01/01 23:00 - 2200/01/01 23:59

dateStyle timeStyle 例 ja_JP 例 en_US
none none 表示なし 表示なし
none short 23時00分 〜 23時59分 11:00 - 11:59 PM
none medium 23:00:00 〜 23:59:00 11:00:00 PM - 11:59:00 PM
none long 23:00:00 JST 〜 23:59:00 JST 11:00:00 PM GMT+9 - 11:59:00 PM GMT+9
none full 23時00分00秒 日本標準時 〜 23時59分00秒 日本標準時 11:00:00 PM Japan Standard Time - 11:59:00 PM Japan Standard Time
dateStyle timeStyle 例 ja_JP 例 en_US
short none 2200/01/01 1/1/00
medium none 2200/01/01 Jan 1, 2200
long none 2200/1/1 [1] Janualy 1, 2200
full none 2200/1/1水曜日 [1:1] Wednesday, Janualy 1, 2200

日付をまたぐ場合

使用した日付: 2200/12/31 23:00:00 - 2201/01/01 01:00:00

日付をまたぐとdateStyleが.noneでも日付(0パディング無し)が表示されるようです
また、dateStyle .fullの曜日に括弧が追加されるようです

dateStyle timeStyle 例 ja_JP 例 en_US
none none 表示なし 表示なし
none short 2200/12/31 23:00 〜 2201/1/1 1:00 12/31/2200, 11:00 PM - 1/1/2201, 1:00 AM
none medium 2200/12/31 23:00:00 〜 2201/1/1 1:00:00 12/31/2200, 11:00:00 PM - 1/1/2201, 1:00:00 AM
none long 2200/12/31 23:00:00 JST 〜 2201/1/1 1:00:00 JST 12/31/2200, 11:00:00 PM GMT+9 - 1/1/2201, 1:00:00 AM GMT+9
none full 2200/12/31 23時00分00秒 日本標準時 〜 2201/1/1 1時00分00秒 12/31/2200, 11:00:00 PM Japan Standard Time - 1/1/2201, 1:00:00 AM Japan Standard Time
dateStyle timeStyle 例 ja_JP 例 en_US
short none 2200/12/31 〜 2201/01/01 12/31/00 - 1/1/01
medium none 2200/12/31 〜 2201/01/01 Dec 31, 2200 - Jan 1, 2200
long none 2200/12/31 〜 2201/01/01 December 31, 2200 - Janualy 1, 2200
full none 2200/12/31(水曜日) 〜 2201/01/01(木曜日) Wednesday December 31 - Thursday Janualy 1, 2201
脚注
  1. 原文ママ。日付をまたがない場合だと、なぜか0パディングじゃなくなる ↩︎ ↩︎

Discussion