我想将过期日期“硬编码”到我的测试版代码中.现在我手动计算一个unix日期并将其与当前日期时间进行比较:
if([[NSDate date] timeIntervalSince1970]>1422748800) mustHalt = TRUE;
我想用一种方法用一个宏来替换1422748800,该宏在将来的90天内生成相同数量的编译时间.
有什么建议?
解决方法
预定义的宏__DATE__是您所需要的.
Here is a SO question与此相关.但也许你想使用这样的代码:
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