将日期和时间转换为TimeStamp

时间:2014-03-08 04:44:06

标签: ios iphone objective-c nsdate gmt

我的日期如下:

2014-01-31 17:40:56

如何在时间戳中将其转换为毫秒?

结果将是1391170256309,由PHP计算。

如何在Objective C中获得2014-01-31 17:40:561391170256309

3 个答案:

答案 0 :(得分:3)

这是否适用于您尝试做的事情?

NSString * dateString = @"2014-01-31 17:40:56";
NSDateFormatter *df=[[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[df setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
NSDate *date = [df dateFromString:dateString];

NSTimeInterval since1970 = [date timeIntervalSince1970]; // January 1st 1970

double result = since1970 * 1000;

答案 1 :(得分:0)

NSDate具有针对此特定方案的工厂方法

- (NSTimeInterval)timeIntervalSince1970

正在计算的结果称为“纪元时间”。

答案 2 :(得分:0)

以下是我用于NSDate的示例代码 - >毫秒:

NSTimeInterval seconds = [NSDate timeIntervalSinceReferenceDate];
double milliseconds = seconds*1000;

注意:参考日期是2001年1月1日,GMT因此将其乘以1000

Reference - Apple Official Docs