【问题标题】:Why does Core Data deduct 1 from the numeric value of my days in NSDate为什么Core Data会从我在NSDate的天数中减去1
【发布时间】:2013-03-27 15:32:03
【问题描述】:

当我尝试使用 JSON 将日期值解析为我的核心数据时,日期值会减去一天。例如,在 JSON 中,我写:“date”:“14/03/13”并将其作为 13/03/13 存储在我的核心数据中。关于为什么会发生这种情况的任何想法?下面是我的代码

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"dd - MM - yy"];
    [dateFormatter setCalendar:[[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar]];

    dayinfo.date = [dateFormatter dateFromString:[obj objectForKey:@"date"]];

【问题讨论】:

  • @JoshAreogun 你知道 JSON 中日期的时区吗?默认情况下,NSDateFormatter 会假设您的时区在本地。如果 JSON 日期为 UTC 且您的时​​区为 -10:00,则可能会发生这种情况。在将日期作为字符串传递时,最好包含时区信息以避免假设。
  • 太棒了,时区建议就像一个魅力。你 StackOverflow 的人是最棒的 :)

标签: ios json core-data nsdate nsdateformatter


【解决方案1】:

尝试根据您当地的时区设置时区。

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];

[dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];

[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];

【讨论】:

    猜你喜欢
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-12
    • 1970-01-01
    • 2019-12-31
    相关资源
    最近更新 更多