-3
タイムゾーンはString
となっており、Swift 4のこのタイムゾーンで日付(フォーマットはdd:mm:yyyy
)と時刻(フォーマットはhh:mm:ss
)を取得したいと考えています。これを行う?swift4のタイムゾーンから日付と時刻を取得
私はカレンダーライブラリを見たことがありますが、私は自分の問題を解決するためにそれを見る方法を理解していません。
タイムゾーンはString
となっており、Swift 4のこのタイムゾーンで日付(フォーマットはdd:mm:yyyy
)と時刻(フォーマットはhh:mm:ss
)を取得したいと考えています。これを行う?swift4のタイムゾーンから日付と時刻を取得
私はカレンダーライブラリを見たことがありますが、私は自分の問題を解決するためにそれを見る方法を理解していません。
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd:MM:yyy hh:mm:ss"
let timeZone = TimeZone(identifier: "Europe/Amsterdam")
dateFormatter.timeZone = timeZone
dateFormatter.string(from: Date())
"dd-MM-yyyy HH:mm:ss"
の方が正しいと思われますが、そうは言っても;カスタム日付形式を解析するときに形式を設定するには、dateFormat
を使用する必要があります。ユーザーに表示する日付を書式設定するときは、ユーザーが期待する日付形式(デフォルトのシステムロケール)を使用する必要があります。あなたはdateStyle
とtimeStyle
を使用する必要があることを行うには:マルセルは、あなたが望むものを達成するために、 `dateFormat`を設定する方法を示しますながら
dateFormatter.dateStyle = .medium
print(dateFormatter.string(from: Date())) // prints "Oct 28, 2017"
dateFormatter.dateStyle = .medium
dateFormatter.timeStyle = .medium
print(dateFormatter.string(from: Date())) // prints "Oct 28, 2017 Oct 28, 2017 at 11:19:13 PM"
ところで、あなたは結果の文字列の目的が何であるかを自問する必要があります。たとえば、Webサービスとのやりとりやデータベースへの保存の場合は、 'dateFormat'を設定するだけでなく、' en_US_POSIX'の 'locale'とUTCの' timeZone'を指定します。しかし、UIで表示する場合は、 'dateFormat'をまったく使用しないでください。代わりに' dateStyle'と 'timeStyle'を使用する必要があります。そのため、日付と時刻はあなたの好みのフォーマットで表示されます。例えば。したがって、米国のユーザーは2017年10月28日を参照しますが、英国のユーザーは2017年10月28日を参照してください。 – Rob
https://stackoverflow.com/a/28347285/2303865 –