43

我想将我的时间戳值转换1308031456NSDate格式(这会产生Tue, 14 Jun 2011 06:04:16 GMT在线 Web 转换中的值)。我将如何以编程方式在两者之间进行转换?

4

5 回答 5

147

OBJ - C: 使用dateWithTimeIntervalSince1970: ,

NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeStamp];

SWIFT: 使用init(timeIntervalSince1970:)

let date = NSDate(timeIntervalSince1970:timeStamp)
于 2011-06-20T05:21:18.783 回答
18

您可以使用该方法dateWithTimeIntervalSince1970:来转换您拥有的时间戳,即纪元时间。

NSDate * myDate = [NSDate dateWithTimeIntervalSince1970:1308031456];
于 2011-06-20T05:20:45.970 回答
4

在对象 c

double timeStamp = 1513330403393;
NSTimeInterval unixTimeStamp = timeStamp / 1000.0;
NSDate *exactDate = [NSDate dateWithTimeIntervalSince1970:unixTimeStamp];
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"dd/MM/yyy hh:mm a";
NSString  *finalate = [dateFormatter stringFromDate:exactDate];

在斯威夫特

let timeStamp = 1513330403393
let unixTimeStamp: Double = Double(timeStamp) / 1000.0
let exactDate = NSDate.init(timeIntervalSince1970: unixTimeStamp)
let dateFormatt = DateFormatter();
dateFormatt.dateFormat = "dd/MM/yyy hh:mm a"
print(dateFormatt.string(from: exactDate as Date))
于 2017-12-19T08:51:31.500 回答
2

请参阅有关日期格式和从苹果的时间戳获取日期的各种示例

使用格式化程序样式根据用户的偏好显示日期和时间

在 Objective-C 中将时间戳转换为 NSDate

于 2011-06-20T05:30:31.350 回答
0

这是一段代码,可让您将 unix 类型的时间戳转换为格式化日期

NSString * timeStampString =@"1304245000";
NSTimeInterval _interval=[timeStampString doubleValue];
NSDate *date = [NSDate dateWithTimeIntervalSince1970:_interval];
NSDateFormatter *_formatter=[[NSDateFormatter alloc]init];
[_formatter setDateFormat:@"dd.MM.yyyy"];
NSString *_date=[_formatter stringFromDate:date];

这将打印 _date 类似于 05.03.2011

于 2021-01-15T03:24:20.350 回答