如何将像“2011-01-12T14:17:55.043Z”这样的datestring转换为像1294841716那么长的string?

我需要以这种string格式转换date:

“2011-01-12T14:17:55.043Z”

到1294841716这个数字(1970年1月1日以来的秒数[不是毫秒])。 有一个简单的方法来做这个parsing?

更新:这是我到目前为止的代码:

NSString *dateString = @"2011-01-12T14:17:55.043Z"; NSDateFormatter *inFormat = [[NSDateFormatter alloc] init]; [inFormat setDateFormat:@"yyyy-MM-ddTHH:mm:ss.nnnZ"]; NSDate *parsed = [inFormat dateFromString:dateString]; long t = [parsed timeIntervalSinceReferenceDate]; 

但是t每次都会回到0。

使用NSDateFormatter获取NSDate然后使用- (NSTimeInterval)timeIntervalSince1970获取自1970年以来的秒数。

 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]]; [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"]; NSDate *date = [formatter dateFromString:@"2011-01-12T14:17:55.043Z"]; NSLog(@"Date: %@", date); NSLog(@"1970: %f", [date timeIntervalSince1970]); NSLog(@"sDate: %@", [formatter stringFromDate:date]); [formatter release];