Я получаю timestamp
для сервера в stringFormat
, который находится в miliseconds
.Проблема при анализе временной метки в дату и время с использованием Objective-C
Мне нужно его преобразовать в дату и время и показать пользователю.
Я сделал это, используя следующий код:
+ (NSString *)getDateAndMonthFromTimeStamp:(NSString*)timestampString
{
NSTimeInterval timeStamp = [timestampString integerValue]/1000;
NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeStamp];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setTimeZone:[NSTimeZone defaultTimeZone]];
[dateFormatter setDateFormat:@"dd MMM"];
NSString *dateNmonth = [[dateFormatter stringFromDate:date]uppercaseString];
return dateNmonth;
}
Когда я запускаю его в iPhone6 он работает отлично. Но когда я запускаю его в iPhone 5 и iPhone5, он показывает мне нежелательную дату.
отлаживать код и нашел это:
timestampString = @"1459498716000"
NSTimeInterval timeStamp = [timestampString integerValue]/1000;
//after this timeStamp becomes:
timeStamp = 2147483;
и тогда моя дата становится 1970-01-25 20:31:23 +0000
Я в сомнении, что NSTimeinterval
переполнен данными. это правильно?
Как это исправить.
магазин значение временной метки в двойной тип данных – iOS
@DarjiJigar используя двойной не решить мою проблему. – Dalvik
, если вы получаете данные временной метки в строке json, чем почему u конвертировать в nstimeinterval – iOS