我有一个类似于2013年1月20日的日期,并尝试获取此日期的unix时间戳。我搜索了很多,发现如何将当前日期转换为unix时间戳,但没有找到我的解决方案。
这是我的代码,我在做什么。
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 :(得分:2)
iOS为NSDate对象提供-(NSTimeInterval)timeIntervalSince1970,返回自1970年1月1日格林威治标准时间00:00:00起的秒数.NSTimeInterval是双浮点类型,因此您可以获得秒和分数。< / p>
time_t unixTime = (time_t) [your_date timeIntervalSince1970];
这里time_t通常是带符号的32位整数类型(long或int)。
答案 1 :(得分:1)
你可以用
获得它- (NSTimeInterval)timeIntervalSince1970
<强>更新强>
例如int
...
int unixtimestamp = [mydate timeIntervalSince1970];
NSTimeInterval
NSTimeInterval ti = [mydate timeIntervalSince1970];