我开发了一个应用,该应用必须显示当前日期和时间,而不是从设备读取,而是从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
答案 0 :(得分:1)
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)
输出:۰۸