Я пытаюсь сделать приложение для посещения, и я действительно смущен датой и временем в iOS и Firebase.
Я использую дату как ключ, это структура моей базы данных Firebase.
--Employees
--Unique_ID
--Details
Name: John
--Attendance
--dateToday
Timein: 8:00 AM
Timeout: 5:00 PM
BreakStart: 12:00 PM
BreakFinish: 1:00 PM
Это мой код, чтобы получить метку даты, которую я использовал в качестве ключа
override func viewDidLoad() {
super.viewDidLoad()
let now = NSDate()
let nowTimeStamp = self.getCurrentTimeStampWOMiliseconds(dateToConvert: now)
// I save this dateToday as Key in Firebase
dateToday = nowTimeStamp
}
func getCurrentTimeStampWOMiliseconds(dateToConvert: NSDate) -> String {
let objDateformat: DateFormatter = DateFormatter()
objDateformat.dateFormat = "yyyy-MM-dd"
let strTime: String = objDateformat.string(from: dateToConvert as Date)
let objUTCDate: NSDate = objDateformat.date(from: strTime)! as NSDate
let milliseconds: Int64 = Int64(objUTCDate.timeIntervalSince1970)
let strTimeStamp: String = "\(milliseconds)"
return strTimeStamp
}
Но когда я конвертирую его обратно, я получаю 2017-09-22 16:00:00 +0000, что неверно, потому что это 23 сентября в моем местоположении.
Каков правильный код для использования, чтобы я мог получить правильную метку даты и временную метку времени?