2016-10-17 5 views
-3

У меня есть дата в метке времени, которая выглядит примерно так: 1474914600000Преобразование метки времени в NSDate

Теперь я хочу тайный эту метку времени в NSDate в формате дд-мм-гггг.

Как это можно сделать в объективе c?

+1

Преобразуйте метку времени в 'NSDate', а затем используйте' NSDateFormatter'. – Larme

+0

Перейдите по этой ссылке: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/DataFormatting/Articles/dfDateFormatting10_4.html, http://soulwithmobiletechnology.blogspot.com/2011/06/convert- timestamp-to-nsdate-in.html –

+0

Возможный дубликат [Есть ли простой способ преобразования метки времени ISO8601 в форматированный NSDate?] (http://stackoverflow.com/questions/2201216/is-there-a-simple -way-of-conversion-an-iso8601-timestamp-to-a-format-nsdate) – Abha

ответ

3

Вам необходимо преобразовать метку времени в NSDate, а затем получить NSDate в желаемом формате. Кроме того, ваша метка времени, кажется, в миллисекунду, так что вы должны разделить это будет 1000. Вы можете использовать ниже код:

double timeStamp = 1474914600000; 
NSTimeInterval timeInterval=timeStamp/1000; 
NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeInterval]; 
NSDateFormatter *dateformatter=[[NSDateFormatter alloc]init]; 
[dateformatter setDateFormat:@"dd-MM-yyyy"]; 
NSString *dateString=[dateformatter stringFromDate:date]; 

значение DateString как выход будет: «27-09-2016»

Надеюсь, поможет.

0

использовать это:

NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeStamp/1000]; 

затем преобразовать дату в формате, который вы хотите.

+1

Вы считаете, что это временная метка с 1970 года? –

0

Чтобы подробно описать ответ балкарана, вы новичок в мире iOS. Временная метка, которую вы предоставили, по-видимому, опускается до миллисекунд, которые вам не нужны в дневное время, поэтому он делится на 1000. Вы должны использовать формат даты, как показано ниже, чтобы вернуть NSString, которую вы можете использовать с форматированной датой.

NSDate *date = [NSDate dateWithTimeIntervalSince1970:1474914600000]; 
NSDateFormatter *formatter = [NSDateFormatter new]; 
formatter.dateFormat = @"dd-MM-yyyy"; 
NSString *formattedDate = [formatter stringFromDate:date]; 
Смежные вопросы