我希望能够在我的beta代码中“硬编码”一个过期日期。目前,我手动计算Unix日期并将其与当前日期时间进行比较:
if([[NSDate date] timeIntervalSince1970]>1422748800) mustHalt = TRUE;
我希望有一种方法可以用宏在编译时生成一个日期,使得其相当于比当前日期后90天的时间戳替换
1422748800
。
您有任何建议吗?
__DATE__
是您所需的。 这里是一个与此相关的 SO 问题。但也许您想使用这样的代码: const int daysToExpire = 14;
NSString *compileDate = [NSString stringWithUTF8String:__DATE__];
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"MMM d yyyy"];
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[df setLocale:usLocale];
NSDate *expireDate = [df dateFromString:compileDate];
bool isExpired = ([[NSDate date] compare:expireDate] == NSOrderedDescending); // decide for it
__DATE__
。此外,代码将无法编译。 - zaph