私は現在の時間をUTCでとり、それをnanaosecondsに入れてから、ナノ秒をとり、現地時間の日付に戻る必要があります。私はナノ秒の時間を取得してから日付の文字列に戻すことができますが、文字列を日付にすると時間が畳み込まれます。SwiftのDate to millisecondsとBackday
//Date to milliseconds
func currentTimeInMiliseconds() -> Int! {
let currentDate = NSDate()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = format
dateFormatter.timeZone = NSTimeZone(name: "UTC") as TimeZone!
let date = dateFormatter.date(from: dateFormatter.string(from: currentDate as Date))
let nowDouble = date!.timeIntervalSince1970
return Int(nowDouble*1000)
}
//Milliseconds to date
extension Int {
func dateFromMilliseconds(format:String) -> Date {
let date : NSDate! = NSDate(timeIntervalSince1970:Double(self)/1000.0)
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = format
dateFormatter.timeZone = TimeZone.current
let timeStamp = dateFormatter.string(from: date as Date)
let formatter = DateFormatter()
formatter.dateFormat = format
return (formatter.date(from: timeStamp))!
}
}
//タイムスタンプが正しいですが、返される日付は、私は、文字列を経由して、一見役に立たない変換を削除し、すべてのそれらのランダム!
日付を文字列に変換して、日付を(currentTimeInMiliseconds()の中で)戻す目的は何ですか? – vadian
私はすべての日付をミリ秒単位でストアしている会社 – user1079052
しかし、二重変換の日付 - >文字列 - >日付は何ですか?また、コードには何も書かれていません。 – vadian