将时间戳转换为NSDate

时间:2016-10-17 10:15:49

标签: objective-c nsdate

我的时间戳日期如下:1474914600000

现在,我想以dd-mm-yyyy的格式将此时间戳转换为NSDate。

如何在目标c中完成?

3 个答案:

答案 0 :(得分:5)

您需要将时间戳转换为NSDate,然后以所需格式获取NSDate。此外,您的时间戳似乎是毫秒级,因此您必须将其除以1000.您可以使用以下代码:

 double timeStamp = 1474914600000;
 NSTimeInterval timeInterval=timeStamp/1000;
 NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeInterval];
 NSDateFormatter *dateformatter=[[NSDateFormatter alloc]init];
 [dateformatter setDateFormat:@"dd-MM-yyyy"];
 NSString *dateString=[dateformatter stringFromDate:date];

dateString值作为输出将是:“27-09-2016”

希望它有所帮助。

答案 1 :(得分:1)

详细说明balkaran的答案,因为你是iOS世界的新手。你提供的时间戳似乎下降到毫秒,这是你不需要白天的时间,这就是他除以1000的原因。你可以使用dateformatter,如下所示返回一个NSString,你可以使用格式化的日期。

NSDate *date = [NSDate dateWithTimeIntervalSince1970:1474914600000];
NSDateFormatter *formatter = [NSDateFormatter new];
formatter.dateFormat = @"dd-MM-yyyy";
NSString *formattedDate = [formatter stringFromDate:date];

答案 2 :(得分:0)

使用它:

NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeStamp/1000];

然后以您想要的格式转换您的日期。