我用UTC表示当前时间,然后用纳秒表示,然后我需要用纳秒表示,然后返回到当地时间表示的日期.我可以将时间转换为纳秒,然后返回到日期字符串,但是当我从字符串转换到日期时,时间会变得复杂.

    //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 ) )!
        }
    }

//时间戳正确,但返回的日期不正确

推荐答案

我不明白你为什么要用绳子...

extension Date {
    var millisecondsSince1970:Int64 {
        Int64((self.timeIntervalSince1970 * 1000.0).rounded())
    }
    
    init(milliseconds:Int64) {
        self = Date(timeIntervalSince1970: TimeInterval(milliseconds) / 1000)
    }
}


Date().millisecondsSince1970 // 1476889390939
Date(milliseconds: 0) // "Dec 31, 1969, 4:00 PM" (PDT variant of 1970 UTC)

Ios相关问答推荐

构建iOS项目失败.我们运行了";xcodeBuild";命令,但它退出并返回错误代码65-expo reaction ative

通过拖动更改视图位置的SwiftUI会引发UI错误

自定义UIControl不适用于UITapGestureRecognizer

当操作修改查看条件时,按钮不重复

Swift locationManager.requestWhenInUseAuthorization() 不提示用户

在 Swift 中,对象如何被准确地从内存中移除?

当任何 TextEditor 有多于一行时,所有 TextEditor 都会调整大小

为什么 Firebase Messaging 配置对于 IOS native 和 Flutter iOS 不同?

Flutter Aging Person 自定义小部件

具有一个参数/参数的泛型类的泛型类

SwiftUI 我自己的渲染函数的返回类型是什么?

从视图模型中更新 EnvironmentObject

滑动以返回特定的 SwiftUI 视图

如何快速设置条形按钮的图像?

如何告诉 SwiftUI 视图绑定到嵌套的 ObservableObjects

如何判断 `NSManagedObject` 是否已被删除?

iPhone 6 和 6 Plus 媒体查询

iOS swift从另一个数组中删除一个数组的元素

iOS:以编程方式制作屏幕截图的最快、最高效的方法是什么?

错误 itms-90035 - Xcode