2019/02/02

swiftでDate Timeを扱う

プログラミングで厄介な、DateTime、曜日、祝日等、Swiftでどう処理したらいいのかを調べる

先人の記事を見てみる。。
qiita 【Swift】Dateの王道 【日付】
https://qiita.com/rinov/items/bff12e9ea1251e895306

特にinclude等せず、test.swift等としてそのままビルドしたらエラーが出た

test.swift:3:17: error: use of unresolved identifier 'DateFormatter'
let formatter = DateFormatter()

ライブラリ等を使うためにまじないが必要では。。Swiftの標準ライブラリとか標準クラスどうなっているのかよくわからず。

同梱されているサンプルから、import Foundationが必要なようだった。
ソース (@rinov様提示のコード)
--------------------------------------------------
import Foundation
let formatter = DateFormatter()
formatter.dateFormat = DateFormatter.dateFormat(fromTemplate: "ydMMM", options: 0, locale: Locale(identifier: "ja_JP"))
print(formatter.string(from: Date()))
--------------------------------------------------
実行結果
2019年2月2日

日付のフォーマットは以下に従うらしい。自分は曜日を入れたいので、EEEを追加
http://www.unicode.org/reports/tr35/tr35-25.html#Date_Format_Patterns

フォーマットとして、ydMMMEEEhm を指定
--------------------------------------------
formatter.dateFormat = DateFormatter.dateFormat(fromTemplate: "ydMMMEEEhm", options: 0, locale: Locale(identifier: "ja_JP"))
print(formatter.string(from: Date()))
-----------------------------------------
実行結果
2019年2月2日(Sat) AM11:24
曜日を漢字にしたいのだが、、それは今後の宿題ということで。

■参考URL
日付関連クラスのまとめ(Swift3)
https://qiita.com/eKushida/items/541a65800efe1ffc523f

Swiftで日付・時刻を取得・整形(format)する方法
https://swift.tecc0.com/?p=172
NSDate()を使っている

No comments:

Post a Comment