将日期转换为Unix时间(自1970年以来的秒数)

时间:2011-05-05 04:15:30

标签: iphone ios4 iphone-sdk-3.0 nsdate nsdateformatter

我想将用户提供的日期转换为自1970年以来的秒值。

例如,如果我的应用程序提供了日期5-MAY-2011 00:00:00 +0000,那么我想要时间戳1304553600(该日期与1970年1月1日之间的秒数)。

3 个答案:

答案 0 :(得分:9)

假设您的日期是有效日期。

NSDateFormatter *dateF = [[NSDateFormatter alloc] init];
[dateF setDateStyle:NSDateFormatterFullStyle]; //this format will be according to your own.

NSDate *todayDate = [dateF dateFromString: @"5-MAY-2011 00:00:00 +0000"]; //please note, this date format must match the NSDateFormatter Style, or else return null.

NSTimeInterval inter = [todayDate timeIntervalSince1970]; //return as double

有关详细信息,请参阅此guideNSDateFormatter

答案 1 :(得分:3)

这是NSDate类的方法。看到这个

- (NSTimeInterval)timeIntervalSince1970

它会返回秒数(你想要的)。

答案 2 :(得分:1)

使用NSDateFormatter将日期字符串解析为实际的NSDate对象,然后调用该对象上的-timeIntervalSince1970方法以获取您要查找的数字。