setDefaultTimeZone
메서드는 더 이상 NSTimeZone
에서 사용할 수 없습니다. 누군가 이것에 대한 대용품을 알고 있습니까?스위프트 3 시간대 문제
몇 가지 세부 사항을 추가 : 을 내 appDelegate.swift, 나는
NSTimeZone.default = TimeZone(abbreviation: "BST")!
을 가지고 있고 그것은 다른 모든 파일에, 나는 NSTimeZone이
이제이 값으로 설정 얻을 수 있기 때문에 내가 추측 의도 한대로 작동 내 경우 Utils, 나는
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시 나에게주는 내가 그것을 입력 "2016년 10월 7일"를 제공, 말할 수이 방법을 가지고있다. 왜? 위의 코드에서 줄의 주석 처리를 제거하면 문제가 해결됩니다. 나는이 라인을 어디서나 사용하고 싶지 않다.
예를 들어, 내 프로젝트의 다른 부분에서는 CVCalendar (https://github.com/Mozharovsky/CVCalendar)를 사용했습니다. 그것은 그것이 내가 2016년 10월 8일 클릭입니다 ... 너무 여기에 무슨 일이 일어나고 이전과 너무
func didSelectDayView(_ dayView: DayView, animationDidFinish: Bool) {
selectedDay = dayView
selectedDate = dayView.date.convertedDate()!
}
처럼 같은 일을 convertedDate를 얻기위한 기능을 제공하며 여기되어 selectedDate 2016년 10월 7일 23이된다 : 00.
그리고 NSTimeZone.Default는 모든 곳에서 유럽/런던을 인쇄합니다.
왜 이런 일이 일어나는 지 아는 사람이 있습니까?
ur 시도 코드 –
https://developer.apple.com/reference를 표시 할 수 있습니까?/foundation/nstimezone /이 문서를 참조하십시오. –
@ Anbu.Karthik 이것은 AppDelegate.swift의 Swift3 이전에 사용했던 것입니다. – AmrataB