未分類

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

NavigationControllerを用いた画面遷移

ViewControllerを選択→Editor→Embed In→NavigationController NavigationControllerとNavigationBarが出てくる。 View …

no image

PremiereProの音量調整について

声→-5db BGM→-15db~-24db SE→-5db くらいに調整できているとバランスが良いと言えます。 基本BGMやSEは音声サイトからダウンロードしてくる場合が多いと思います。 その場合は …

no image

マルチデバイスに対応する方法

マルチデバイス対応とは iPhoneのデバイスによって画面サイズが異なるため、それぞれの端末で正常に表示するための対応。 マルチデバイス対応方法 主に3つの方法がある。 ・オートレイアウト ・プログラ …

no image

AutoLayoutでサイズを比率で指定する

control押しながら、基準にしたいもの(Viewとか)にドラッグ。 Equal HeightまたはEqual Widthsを選択。 Multiplierを50パーセントにしたいなら、0.5に設定。 …

no image

画面遷移する時に値を渡す

1.遷移先で値を受け取るための変数を宣言しておく。 class NextViewController: UIViewController { @IBOutlet weak var label2: UI …