未分類

Colendar.currentで現在時刻を表示する

投稿日:2020年8月1日 更新日:

●Calendar.currentとcomponentプロパティで現在の日付を表示させる。

//現在時刻をdate型で生成
let date = Date()

//ユーザーの現在時刻のグレゴリオン歴カレンダーを生成
let calendar = Calendar.current
//日付から一つの要素を取り出す
let year = calendar.component(.year, from: date)
let month = calendar.component(.month, from: date)
let day = calendar.component(.day, from: date)

let today = "\(year)年\(month)月\(day)日"
print("今日は\(today)です!")

出力結果

Date カレンダーやタイムゾーンに依存しない特定の時点に関するクラス。
Calendar 1年の始まり、長さ、および区分が定義されているカレンダーに関する情報が入ってるクラス。
current ユーザーの現在時刻を返すプロパティ。
component 日付の一つの要素を返すメソッド。

補足:Date()で生成される時刻はグリニッジ標準時表記の為、日本時間から9時間ずれているが、同じ特定の時刻を表している。

●componentとdateComponentの違い

componentが日付の一つの要素を返すのに対し、dateComponentは日付の全ての要素を返し、さらにうるう年かも判定する。

let date = Date()
let calendar = Calendar.current
//日付の一つの要素を返す
let component = calendar.component(.day, from: date)
//日付の全ての要素を返す
let components = calendar.dateComponents([.year, .month, .day], from: date)

print("componentの場合: \(component)")
print("dateComponentの場合: \(components)")

●datecomponentから一つずつ要素を取り出すこともできる

let calendar = Calendar(identifier: .gregorian)
let date = calendar.dateComponents([.year, .month, .day], from: Date())

//datecomponentsから一つずつ取り出す
let thisYear = date.year!
let thisMonth = date.month!
let today = date.day!

print("今日は\(thisYear)年\(thisMonth)月\(today)日です!")

-未分類

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

StoryBoadのAssistantEditorが開かない時の対処法

StoryBoadのアシスタントエディターが”No Assistant Results”と表示され、開かなくなった。 再起動をしても元に戻らない。 解決策 別のプロジェクトファ …

no image

UserDefaultsとは

UserDefaultsとは UserDefaultsを使えばアプリ内にデータを保存することができる。 アプリを端末から消去しない限りずっと残り続ける。 入力途中のものやメモの保存に役立つ。 保存した …

no image

“?”の意味。オプショナルチェイニング

navigationController?となっていたら、navigationControllerがあるかないかわからない、なかったらこれより先に進んではいけないという意味。 override fun …

no image

Int型からString型へ変換

Int型→String型またはString型→Int型に変換(キャスト)する方法。 //String型->Int型 let yearString = “2020” let yearInt = I …

PremierePro プロジェクトパネルの小窓を消す

左上にあるプレビューを表示する小窓を消す方法。 プロジェクトパネルのタブの3本線→「プレビューエリア」のチェックを外す。