swift 时间戳记录

时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒

无论在世界的哪个地方,我们的时间戳都是一样的;
时间戳结合时区可以判定当前时区的具体时间(有些地方的时区不是固定的,会根据夏令时做调节 此处踩了坑 计算时间相差一个小时)
用系统方法转化成的时间是你的系统时区的时间

记录个特定时区剩余时间方法活动开启按照某个时区的某个时间 计算的剩余时间

/// 剩余时间
    /// - Parameters:
    ///   - deadlineDate: Date
    ///   - startDate: Date
    /// - Returns: 两个时间差的小时数
   func remainTimeInTimeZone(_ deadlineDate: Date, _ startDate: Date) -> Int {
        // America/Los_Angeles 换成自己的
        var customCalendar = Calendar(identifier: Calendar.Identifier.gregorian)
        customCalendar.timeZone = TimeZone(identifier: "America/Los_Angeles"
        customCalendar.locale = Locale(identifier: "America/Los_Angeles")
        
        guard let minute = customCalendar.dateComponents([.minute], from: startDate, to: deadlineDate).minute else {
            return 0
        }
        
        return minute % 60 == 0 ? minute / 60 : minute / 60 + 1
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容