2015-03-05 4 views
1

Iam дата получения как «1425551087194» ее в длинном формате. Как я могу преобразовать ее в NSDate и отобразить нормальный формат «mm-dd-yyyy».Преобразование даты в длинном формате в NSDate в iOS?

Я попытался следующие коды и вывода также добавлены здесь

Метод 1:

NSString * timeStampString [email protected]"1425551087194"; 
    NSTimeInterval _interval=[timeStampString longLongValue]; 
    NSDate *date = [NSDate dateWithTimeIntervalSinceNow:_interval]; 
    NSDateFormatter *_formatter=[[NSDateFormatter alloc]init]; 
    [_formatter setDateFormat:@"dd.MM.yyyy"]; 
    NSString *_date=[_formatter stringFromDate:date]; 
    NSLog(@"%@",_date); 

из положить является: 07.02.47189

Способ 2:

NSString * timeStampString [email protected]"1425551087194"; 
NSTimeInterval _interval=[timeStampString longLongValue]; 
NSDate *date = [NSDate dateWithTimeIntervalSince1970:_interval]; 
NSDateFormatter *_formatter=[[NSDateFormatter alloc]init]; 
[_formatter setDateFormat:@"dd.MM.yyyy"]; 
NSString *_date=[_formatter stringFromDate:date]; 
NSLog(@"%@",_date); 

выход это: 08.12.47143

Пожалуйста, помогите Ожидаемый результат - текущая дата.

+1

Ваш 'timeStamp' в миллисекундах, но IOS будет управляться только в секундах (для 'NSTimeInterval' и что ожидает' dateTimeIntervalSince1970: ') – Larme

ответ

4

попробовать этот

double getDate=1421112600996; // here replace your value 
NSTimeInterval seconds = getDate/1000; 
NSDate *date = [NSDate dateWithTimeIntervalSince1970:seconds]; 
NSLog(@"ans : %@",date); // your get answer like ans : 2015-01-13 01:30:00 +0000 

другое преобразование

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init] ; 
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss a"]; // here replace your format dd.MM.yyyy 
NSLog(@"result: %@", [dateFormatter stringFromDate:date]); 
result: 2015-01-13 07:00:00 AM 
+0

работает отлично ... спасибо –

0

кроме этого каждая вещь кажется правильным

NSTimeInterval _interval=[timeStampString doubleValue]; //use double conversion instead of longlong 
NSDate *date = [NSDate dateWithTimeIntervalSinceNow:_interval/1000];//converting time interval to seconds 
+0

wats ошибка? –

+0

проблема не в том, что значение присваивалось 'NSTimeInterval', что является двойным значением ..! – Saif

+0

Вам также необходимо разделить это значение на '1000.0' как« секунда секунды NSTimeInterval », а не миллисекунды. – trojanfoe

0
NSString * timeStampString [email protected]"1304245000"; 
NSTimeInterval _interval=[timeStampString doubleValue]; 
NSDate *date = [NSDate dateWithTimeIntervalSince1970:_interval]; 
NSDateFormatter *_formatter=[[NSDateFormatter alloc]init]; 
[_formatter setDateFormat:@"dd.MM.yyyy"]; 
NSString *_date=[_formatter stringFromDate:date]; 
Смежные вопросы