用于日期的Xcode预处理器宏

前端之家收集整理的这篇文章主要介绍了用于日期的Xcode预处理器宏前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想将过期日期“硬编码”到我的测试版代码中.现在我手动计算一个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

猜你在找的Xcode相关文章