我用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相关问答推荐

在向我的结构添加属性后获取线程 10:EXC_BAD_ACCESS (code=EXC_I386_GPFLT)

SwiftUI:添加核心数据项时更新选项卡栏徽章

我们可以在 Swift 中将结构中的 Codable 键设置为不区分大小写吗

Swift 共享数据模型在页面之间进行通信.这个怎么运作

访问未定义的 stage_in 金属着色器参数

通过MatchedGeometryEffect向上滑动视图

使用swift将图像转换为A4大小的pdf

最新版本的 Xcode 安装时卡住了 (12.5)

错误:在 iOS 上运行 Flutter 时找不到“Flutter/Flutter.h”文件

App Store Connect 消息:您的帐户将很快需要迁移到联合身份验证

SwiftUI NavigationLink 立即加载目标视图,无需单击

SwiftUI 无法在 HStack 的 Spacer 中点击

如何为 iOS 13 的 SF Symbols 设置权重?

在 iOS 13 全屏中呈现模式

Xcode 10.2.1 命令 PhaseScriptExecution 失败,退出代码为非零

请在您的 Podfile 中为此目标指定一个平台?

将结构保存到 UserDefaults

如何确定 WKWebView 的内容大小?

Xcode 9 的安全区域

Xcode 8.3 / Xcode 9.0 刷新配置文件设备