2016-03-29 1 views
2

Я использую NSDateFormatter для преобразования TIMESTAMP в строку это мой кодstringFromDate аварии на специальном устройстве

let string = NSString(string: timeStamp) 

let timeSta:NSTimeInterval = string.doubleValue 

print("timeStamp:\(timeStamp) with double value \(timeSta)") 

let dfmatter = NSDateFormatter() 
dfmatter.dateFormat="yyyy-MM-dd" 
dfmatter.locale = NSLocale(localeIdentifier: "zh_CN") 
let date = NSDate(timeIntervalSince1970: timeSta) 
print(dfmatter.stringFromDate(date)) 
return dfmatter.stringFromDate(date) 

Когда я запускаю этот код в моем IPad это аварии в

stringFromDate

, но я запускаю его в iPhone, это w orks fine

Я попытался установить системное время с 12 часами, это тоже сбой.

+0

Какое у вас времяStamp? – kb920

+0

времяStamp: 1553759751.415 с двойным значением 1553759751.415 @ kb920 – jansma

+0

возвращение 2019-03-28. У меня 12-часовой формат в моем симуляторе – kb920

ответ

0

Я нашел ответ на мой вопрос в другом SO вопроса здесь: NSDateFormatter has different results when iPad has a 24-hour format

Опираясь на Apple, технический Q & А здесь: http://developer.apple.com/library/ios/#qa/qa1480/_index.html

Таким образом, в сущности, если устройство установлено в 24 часов времени то флаг «a» в форматировании игнорируется, и время будет возвращено в 24-часовом формате.