OStack程序员社区-中国程序员成长平台

标题: ios - 显示上一个日期的 NSLog [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 10:37
标题: ios - 显示上一个日期的 NSLog

我想从两个日期之间添加的核心数据中检索所有条目。我正在使用 NSPredicate。由于我没有得到正确的结果,我尝试记录日期。它显示了以前的日期。谷歌搜索了一段时间后,我添加了

[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; 到我的代码。现在,它显示正确的日期,但结果仍然错误。

这是我使用的代码。

NSDate *fromDate = [[self dateFormatter]dateFromString:self.fromDateField.text];
NSLog(@"%@",fromDate);
NSDate *toDate = [[self dateFormatter]dateFromString:self.toDateField.text];
NSLog(@"%@",toDate);
NSComparisonResult result = [fromDate compare:toDate];
switch (result) {
    case NSOrderedAscending:
    {
        //code
    }

- (NSDateFormatter *)dateFormatter
{
static NSDateFormatter *dateFormatter = nil;
if (dateFormatter == nil) 
{
    dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateStyle:NSDateFormatterMediumStyle];
    [dateFormatter setTimeStyle:NSDateFormatterNoStyle];
    [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
}
   return dateFormatter;
}

提前致谢



Best Answer-推荐答案


如果您直接记录 NSDate 对象,它将始终以 GMT/UTC 时区显示该书。您必须记录日期格式化程序的输出。

NSLog(@"%@",[self.dateFormatter stringFromDate:toDate]);

这将考虑您的时区。或者更好:dateformatter 的日历的时区——如果你不改变它,设备默认是什么。

关于ios - 显示上一个日期的 NSLog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16080095/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4