我怎样才能将日期转换为整数?

时间:2014-03-05 01:00:16

标签: ios date nsstring integer

我需要能够将当天的日期转换为整数,以便我可以将其保存为整数,以便在我的代码中的其他区域中使用。我知道还有其他方法可以在Xcode中保存日期,但对于这个特定的问题,我需要将它用作整数。所以我的问题是如何将日期转换为整数,以便我可以在NSString中使用该整数?提前谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用timeIntervalSinceReferenceDate方法执行此操作。

// Get time from baseline date to now as a double.
double interval = [[NSDate date] timeIntervalSinceReferenceDate];

// Re-apply the time value
NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:interval];

参考日期是基线日期,它始终具有相同的值。因此,您可以安全地将其用作参考点。然后,您只需在参考日期和现在之间存储NSTimeInterval(typedef为double)。这样可以显示参考日期和现在之间发生的秒数。

编辑:

如评论中所述,如果您的日期早于2001年,则可以使用1970年的参考日期。

// Get time from baseline date to now as a double.
double interval = [[NSDate date] timeIntervalSince1970];

// Re-apply the time value
NSDate *date = [NSDate dateWithTimeIntervalSince1970:interval];

如果您的日期晚于2001年,则任何一种方法都适合您。

您可以使用

从double转换为整数

int interval =(int)[[NSDate date] timeIntervalSince1970];

由于double将被截断为最接近的秒,因此您需要决定是要向上舍入还是向下舍入。按原样离开将逐渐减少。您可以使用以下方法舍入到最接近的秒:

interval = round(interval);