[解決済み】SwiftのDateオブジェクトを作成するにはどうすればよいですか?
質問
swift xcodeで日付から日付オブジェクトを作成する方法。
例えば、javascriptでは次のようになります。
var day = new Date('2014-05-20');
解決方法は?
Swiftは独自の
Date
型があります。を使用する必要はありません。
NSDate
.
Swiftで日付と時刻を作成する
Swiftでは、日付と時刻は、基準日である2001年1月1日00時00分00秒からの秒数を測定する64ビットの浮動小数点数で格納されます。
UTC
. で表されます。
Date
構造体
. 次のようにすると、現在の日付と時刻が表示されます。
let currentDateTime = Date()
その他の日付時刻を作成する場合は、以下のいずれかの方法を使用することができます。
方法1
2001年の基準日の前後何秒かがわかっていれば、それを利用することができます。
let someDateTime = Date(timeIntervalSinceReferenceDate: -123456789.0) // Feb 2, 1997, 10:26 AM
方法2
もちろん、(相対秒数ではなく)年、月、日、時間といったものを使えば、もっと簡単です。
Date
. これには
DateComponents
でコンポーネントを指定し
Calendar
で日付を作成します。その
Calendar
は
Date
のコンテキストを使用します。そうでなければ、どのタイムゾーンやカレンダーで表現すればよいのか、どうやって知ることができるのでしょうか?
// Specify date components
var dateComponents = DateComponents()
dateComponents.year = 1980
dateComponents.month = 7
dateComponents.day = 11
dateComponents.timeZone = TimeZone(abbreviation: "JST") // Japan Standard Time
dateComponents.hour = 8
dateComponents.minute = 34
// Create date from components
let userCalendar = Calendar(identifier: .gregorian) // since the components above (like year 1980) are for Gregorian
let someDateTime = userCalendar.date(from: dateComponents)
その他のタイムゾーンの略語はこちら こちら . これを空白にすると、ユーザーのタイムゾーンがデフォルトで使用されます。
方法3
最も簡潔な方法(ただし、必ずしも最良とは限りません)は
DateFormatter
.
let formatter = DateFormatter()
formatter.dateFormat = "yyyy/MM/dd HH:mm"
let someDateTime = formatter.date(from: "2016/10/08 22:31")
は
ユニコード技術標準では、他のフォーマット
その
DateFormatter
がサポートしています。
注意事項
参照 回答 は、日付と時刻を読みやすい形式で表示する方法です。また、これらの優れた記事もお読みください。
関連
-
[解決済み] Xcodeエラー "Could not find Developer Disk Image" が発生する。
-
[解決済み] UILabelにスペース/パディングを追加する
-
[解決済み] Swift 4 データが正しい形式でないため、読み取ることができませんでした。
-
[解決済み] 使用しているSwiftのバージョンを確認するにはどうすればよいですか?
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] Xcode 12、iOS Simulator用にビルドしても、iOS用にビルドされたオブジェクトファイルでは、アーキテクチャ「arm64」用にリンクされます。
-
[解決済み] SwiftでURLから画像を読み込む/ダウンロードする
-
[解決済み】iOSアプリの名前を変更する方法は?
-
[解決済み】Swift 3で遅延をプログラムする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Cocoapodsをインストールできない - プロジェクト・ディレクトリにポッドファイルが見つからない
-
[解決済み】iOS 9.0より前のUIStackView
-
[解決済み] 現在時刻をdatetimeで取得する方法
-
[解決済み] Xcode 9の問題を修正しました。"iPhoneはビジー状態です。iPhoneのデバッガーサポートを準備中"
-
[解決済み] Xcodeで "No such module "というエラーが出るが、フレームワークはある
-
[解決済み] NSIntegerからNSStringデータ型に変換するにはどうすればよいですか?
-
[解決済み] 脱獄したiphoneで`uicache`コマンドは何をするのですか?[クローズド]
-
[解決済み] BluetoothのロゴはiPhoneのキャラクターとして利用できますか?
-
[解決済み] iOS Swift 3 - UIDatePicker
-
[解決済み] UIViewAlertForUnsatisfiableConstraintsでトラップする方法は?