서버 UTC 시간을 현지 시간으로 변환하고 그 반대의 경우도 마찬가지입니다. "12:52 PM"Swift 3.0 : 서버 UTC 시간을 현지 시간으로 변환하고 그 반대의 경우
그러나 실제 현지 시간 및 출력 시간 차이가 : 여기
var isTimeFromServer = true
var time:String!
var period:String!
let timeString = "6:59 AM" //Current UTC time
if isTimeFromServer {
let index = timeString.index(timeString.startIndex, offsetBy: 5)
let twelve = timeString.substring(to: index)
var dateString:String!
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "H:mm"
let date12 = dateFormatter.date(from: twelve)!
dateFormatter.dateFormat = "h:mm a"
let date22 = dateFormatter.string(from: date12)
//print(date22)
dateString = date22
//print("dateString=\(dateString)")
time = dateString.components(separatedBy: " ")[0]
period = dateString.components(separatedBy: " ")[1]
}
else {
time = timeString.components(separatedBy: " ")[0]
period = timeString.components(separatedBy: " ")[1]
}
var hour = Int(time.components(separatedBy: ":")[0])
hour = period == "AM" ? hour : hour! + 12
let minute = Int(time.components(separatedBy: ":")[1])
let calender = NSCalendar.current
var datecomponent = DateComponents()
datecomponent.calendar = calender
datecomponent.hour = hour
datecomponent.minute = minute
if !isTimeFromServer {
// local to UTC
datecomponent.timeZone = TimeZone.current
}
else {
datecomponent.timeZone = TimeZone(abbreviation: "UTC")
}
let date = datecomponent.date
let dateFormatter = DateFormatter()
if !isTimeFromServer {
dateFormatter.dateFormat = "H:mm"
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
dateFormatter.string(from: date!)
}
else {
//UTC to local
dateFormatter.dateFormat = "h:mm a"
dateFormatter.timeZone = TimeZone.current
dateFormatter.string(from: date!)
}
내가
이 는 O/P현지 시간을 얻을 .. 내 코드입니다 23 분. 이 문제를 해결하는 데 도움주세요. 미리 감사드립니다.
정확히 내가 원하는 .. 고마워요 @ Mrugesh. – NiravS
그레이트 !!! 감사! – iDev750
유일한 타락은 비효율적입니다. 이 함수의 각 반복에는 약 0.23 밀리 초가 걸립니다. 수천 개의 날짜를 비교하는 것은 비효율적 일 것입니다. – quemeful