到完整日期的毫秒数 returns 在我的时区错误的一天
milliseconds to full date returns wrong day in my time zone
我开发了一个应用程序,它必须显示当前日期和时间,而不是从设备读取,而是从 http-get 服务读取
我从服务器读取了一个长整数,我应该转换为当前年月日和时间
我正在使用此方法,但 returns 错误的日期和时间。
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 但 returns 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)
输出:۰۸
我开发了一个应用程序,它必须显示当前日期和时间,而不是从设备读取,而是从 http-get 服务读取
我从服务器读取了一个长整数,我应该转换为当前年月日和时间
我正在使用此方法,但 returns 错误的日期和时间。
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 但 returns 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)
输出:۰۸