1

我有一个像 01/20/2013 这样的日期,并试图获取这个日期的 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 作为时间戳值。

4

2 回答 2

2

iOS 为 NSDate 对象提供-(NSTimeInterval)timeIntervalSince1970,它返回自 1970 年 1 月 1 日格林威治标准时间 00:00:00 以来的秒数。 NSTimeInterval 是一个双浮点类型,因此您可以获得秒数和秒的小数部分。

time_t unixTime = (time_t) [your_date timeIntervalSince1970];

这里的 time_t 通常是带符号的 32 位整数类型(long 或 int)。

于 2013-04-30T12:40:08.747 回答
1

你可以得到它

- (NSTimeInterval)timeIntervalSince1970

更新:

例如在int...

int unixtimestamp = [mydate timeIntervalSince1970];

和其他示例NSTimeInterval

NSTimeInterval ti = [mydate timeIntervalSince1970];
于 2013-04-30T12:39:50.537 回答