将时间戳转换为 NSDate

Converting timestamp into NSDate

我在时间戳中有一个日期,看起来像这样:1474914600000

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

如何在 objective c 中完成?

使用这个:

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

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

如果您是 iOS 世界的新手,请详细说明 balkaran 的回答。您提供的时间戳似乎下降到毫秒,白天不需要,这就是他除以 1000 的原因。您可以按如下方式使用 dateformatter return 一个 NSString,您可以将其与格式化日期一起使用。

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

您需要将您的时间戳转换为 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”

希望对您有所帮助。