2013-04-30 3 views
1

У меня есть дата, как это 20.01.2013 и попытка получить временную отметку unix для этой даты. Я много искал и узнал, как конвертировать текущую дату в временную метку unix, но не нашел своего решения.Как преобразовать любую удобочитаемую дату в unix timestamp

вот мой код, что я делаю.

NSDate *date = mydate;  //myDate is the date like 01/20/2013 

NSDateFormatter *formatter = [[ NSDateFormatter alloc]init]; 

[formatter setDateFormat:@"mm/dd/yyyy"]; 

NSString *timestamp = [formatter stringFromDate:date]; 

NSLog(@"%@",timestamp); 

Я получаю null как значение времени в моей консоли.

+0

формат должен быть «MM/dd/yyyy» – John

ответ

2

IOS обеспечивает -(NSTimeInterval)timeIntervalSince1970 объектов NSDate, который возвращает количество секунд, прошедших с 00:00:00 по Гринвичу 1 января 1970 года NSTimeInterval является двойной тип с плавающей точкой, так что вы получите секунды и доли секунды.

time_t unixTime = (time_t) [your_date timeIntervalSince1970]; 

Здесь time_t обычно представляет собой подписанный 32-разрядный целочисленный тип (long или int).

+0

Я пробовал так, но это сбой , NSDate * date = [[appDelegate.configFileArray objectAtIndex: 3] valueForKey: @ "1"]; NSLog (@ "% @", дата); time_t unixTime = (time_t) [date timeIntervalSince1970]; NSLog (@ "% ld", unixTime); – Zac24

+0

Нет, он не должен падать. Я проверил это. Пример: time_t unixTime = (time_t) [[NSDate date] timeIntervalSince1970]; NSLog (@ "unixtime:% li", unixTime); Он возвращает мне unixtime: 1367326434 –

+0

Я думаю, что вы проходите неверную дату. Пожалуйста, проверьте его один раз. –

1

вы можете получить его с

- (NSTimeInterval)timeIntervalSince1970 

UPDATE:

Для примера в int ...

int unixtimestamp = [mydate timeIntervalSince1970]; 

И другой пример в NSTimeInterval

NSTimeInterval ti = [mydate timeIntervalSince1970]; 
+0

это преобразует настоящую дату в временную метку unix .. как я могу предоставить свою собственную дату ..? – Zac24

+0

у вас есть строка Дата сейчас ?? –

+0

@ Zac24 i update answer dear see this ... если у вас есть дата строки, то используйте мой метод для преобразования этой строки в NSDate ... –

Смежные вопросы