未分類

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

キネティックタイポグラフィとは

Kinetic(動的な) typography(活版印刷術)という名の通り、本来静止画の視覚表現であるタイポグラフィに動きの要素を加えた映像表現である。 JOYSOUNDのSHOW劇クリップや、よくM …

no image

見落としがちな簡単なミス

・プロトコルを書いてない ・デリゲートを書いてない

no image

TextFieldがキーボードで隠れるのを防ぐ(ライブラリ使用)

TextFieldがキーボードで隠れるのを防ぐのに、以前の記事ではNotificationCenterを使う方法を書いた。 キーボードでtextFieldが隠れないようにする しかし、このやり方では、 …

no image

画面遷移の方法まとめ

3つある。 1. segueを使った画面遷移(Storyboardのみ) 一番簡単。 2. segueを使った画面遷移(コードを使った方法) 何らかの条件付きで画面遷移させたい時に使う。 perfor …

no image

cocoaPodsの様々なライブラリ

lottie-ios アニメーションに関するライブラリ。 LottieFilesのフリーアニメーション素材を使うための仲介をする。 import Lottie AVFoundation 動画などを使え …