gpt4 book ai didi

swift - 工作日的时间戳出错

转载 作者:搜寻专家 更新时间:2023-11-01 06:44:23 25 4
gpt4 key购买 nike

我做了这个函数:

func getDayOfWeek(date: NSDate) -> String? {
let myCalendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)
let myComponents = myCalendar?.components(NSCalendarUnit.CalendarUnitWeekday, fromDate: date)
let weekDay = myComponents?.weekday
println(date)
return weekNumberToWord(weekDay!)
}

我给它一个时间戳作为日期(1439460000,这是今天的日期)并打印:2046-08-13 10:00:00 +0000。这怎么可能?

我是这样调用函数的:

var day = getDayOfWeek(NSDate(timeIntervalSinceReferenceDate: timestamp.doubleValue))!

其中 getDayOfWeek() 是一个开关,将所有数字转换为日期名称作为字符串。

最佳答案

您使用了错误的初始值设定项:

init(timeIntervalSinceReferenceDate:)

Returns an NSDate object initialized relative the first instant of 1 January 2001, GMT by a given number of seconds.

您应该使用 init(timeIntervalSince1970 seconds: NSTimeInterval) 从 UNIX 时间戳(您显然正在使用)初始化日期:

Returns an NSDate object set to the given number of seconds from the first instant of 1 January 1970, GMT.

var day = getDayOfWeek(NSDate(timeIntervalSince1970: timestamp.doubleValue))!

关于swift - 工作日的时间戳出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31986445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com