setDefaultTimeZone
の方法は現在NSTimeZone
で利用できません。誰かがこれの代用を知っていますか?スイフト3タイムゾーンの問題
いくつかの詳細を追加: を私のappDelegate.swiftでは、私は
NSTimeZone.default = TimeZone(abbreviation: "BST")!
を持っており、それが他のすべてのファイルには、私はNSTimeZoneが
さて、この値に設定し得るので、私は推測する意図したとおりに動作します、私のUtilsので、私はそう、言って、私はそれを入力し、「2016年10月7日」を与えるこの方法
static func getDate(_ dateStr: String) -> Date {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
// dateFormatter.timeZone = TimeZone(abbreviation: "GMT")
let date = dateFormatter.date(from: dateStr)!
return date
}
をすることができますしている、それは2016年10月6日23:00私に戻っています。どうして?上記のコードで行のコメントを外すと、修正されます。私はどこにでもこの行を使いたくありません。
たとえば、私のプロジェクトの他の部分では、CVCalendar(https://github.com/Mozharovsky/CVCalendar)を使用しています。これは、以前のように同じことがあまりにもここで起こっているので、
func didSelectDayView(_ dayView: DayView, animationDidFinish: Bool) {
selectedDay = dayView
selectedDate = dayView.date.convertedDate()!
}
...それは私が2016年10月8日をクリックしているようconvertedDateを取得するための機能を提供し、それがここにselectedDateは2016年10月7日23次のようになります。 00。
NSTimeZone.Defaultはヨーロッパ/ロンドンをどこにでも印刷します。
これはなぜ起こっているのですか?
あなたが試したコードを表示できます –
https://developer.apple.com/reference/foundation/nstimezone /このドキュメントを参照してください –
@ Anbu.Karthikこれは、私がAppDelegate.swiftでSwift3の前に使っていたものです。 – AmrataB