美文网首页
swift 时间戳记录

swift 时间戳记录

作者: 静守幸福 | 来源:发表于2023-07-24 08:47 被阅读0次

    时间戳是从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
        }
    

    相关文章

      网友评论

          本文标题:swift 时间戳记录

          本文链接:https://www.haomeiwen.com/subject/fsfqpdtx.html