将时间戳转换为nsdate格式

ram*_*mya 42 iphone objective-c nsdate swift

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

Kin*_*iss 145

OBJ - C: 使用dateWithTimeIntervalSince1970 : ,

NSDate *date = [NSDate dateWithTimeIntervalSince1970:timeStamp];
Run Code Online (Sandbox Code Playgroud)

SWIFT: 使用init(timeIntervalSince1970 :)

let date = NSDate(timeIntervalSince1970:timeStamp)
Run Code Online (Sandbox Code Playgroud)

  • 取决于timeStamp的类型转换.否则你可以这样尝试:NSDate*beginDate = [NSDate dateWithTimeIntervalSince1970:(NSTimeInterval)[[calendarData objectForKey:@"date"] doubleValue]]; (3认同)

Dee*_*olu 18

您可以使用该方法dateWithTimeIntervalSince1970:转换您的时间戳,即时间戳.

NSDate * myDate = [NSDate dateWithTimeIntervalSince1970:1308031456];
Run Code Online (Sandbox Code Playgroud)


viv*_*vek 5

在 objc 中

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];
Run Code Online (Sandbox Code Playgroud)

在斯威夫特

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))
Run Code Online (Sandbox Code Playgroud)