我开发了一个应用程序,它必须显示当前日期和时间,不是从设备读取而是从 http-get 服务读取
我从服务器读取了一个长整数,我应该转换为当前年月日和时间
我正在使用此方法,但返回了错误的日期和时间。
func setDay(day:Double) {
let formatter = DateFormatter()
formatter.calendar = Calendar(identifier: .persian)
formatter.locale = Locale(identifier: "fa_IR")
var date = Date(timeIntervalSince1970: (day / 1000.0))
// day
formatter.dateFormat = "dd"
//time=formatter.string(from: date)
self.day = formatter.string(from: date)
print(self.day) //wrong day
}
例如长整数是:1532928652552.0
本月的第几天在我的国家是 11 但返回 8
最佳答案
func convertEpochToStringDate(epoch: Int) -> String {
let dbl = TimeInterval(epoch)
let date = Date(timeIntervalSince1970: dbl)
let formatter = DateFormatter()
formatter.calendar = Calendar(identifier: .persian)
formatter.locale = Locale(identifier: "fa_IR")
formatter.dateFormat = "dd"
formatter.timeZone = TimeZone(identifier: "IRST")
return formater.string(from: date)
}
让我们测试一下:
let time = convertEpochToStringDate(epoch: 1532928652552 / 1000)
print(time)
输出:08
关于swift - 到完整日期的毫秒数在我的时区返回错误的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51648324/