Skip to content

Instantly share code, notes, and snippets.

@hanfengs
Last active December 17, 2021 08:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hanfengs/23fe127f5f29a3592ac14030362665ef to your computer and use it in GitHub Desktop.
Save hanfengs/23fe127f5f29a3592ac14030362665ef to your computer and use it in GitHub Desktop.
[date相关]
//这个以 utc +0000
服务器是 utc 0 的时间
config的配置信息里也是 utc 0 时间(关键这里是计算出来的,当前时间零点+start)
所以此刻,所有人的倒计时都应该是一样的
func calculateDownCount(start: Int, end: Int) {
let serverNowStamp = (TimeAtomicClock.shared.now / 1000)
let date = Date(timeIntervalSince1970: serverNowStamp)
var components = NSCalendar.current.dateComponents([.year, .month, .day], from: Date())
components.timeZone = TimeZone(secondsFromGMT: 0)
let todayStart = NSCalendar.current.date(from: components)!
let partyStartDate = NSCalendar.current.date(byAdding: .hour, value: start, to: todayStart)!
let partyStartStamp = partyStartDate.timeIntervalSince1970
let partyEndDate = NSCalendar.current.date(byAdding: .hour, value: end, to: todayStart)!
let partyEndStamp = partyEndDate.timeIntervalSince1970
print("message: 现在时间:\(TimeAtomicClock.shared.now / 1000)...\(date)\n\(todayStart)...\n\(partyStartDate)...\(partyStartStamp)\n\(partyEndDate)...\(partyEndStamp)")
var count = 0
if serverNowStamp > partyEndStamp {
count = Int((partyStartStamp + 86400) - serverNowStamp)
} else {
if serverNowStamp < partyStartStamp {
count = Int(partyStartStamp - serverNowStamp)
} else {
count = 0
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment