【问题标题】:Convert NSDate to JSON Date?将 NSDate 转换为 JSON 日期?
【发布时间】:2015-12-25 05:44:14
【问题描述】:

我需要使用 HTTP 向 parse.com 发布 NSDate 对象。
我不知道如何转换它。

//1  nsdate
[params setObject:date forKey:kKeyDate];

//2 nsstring
 NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
 [dateFormat setDateFormat:@"yyyy-MM-dd T HH : mm : ss.SSSZ"];
 NSString *newString = [dateFormat stringFromDate:date];
 [params setObject:newString forKey:kKeyDate];

参数在 Http 请求的主体中被序列化。我知道我所做的一切都是正确的,因为如果我注释掉将 NSDate 添加到参数中,那么它会起作用。

【问题讨论】:

标签: ios parse-platform nsdate


【解决方案1】:

试试这个..

NSDate *CurrentDate = [NSDate date];
NSDateFormatter *DATEFORMATER = [[NSDateFormatter alloc]init];
[DATEFORMATER setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.SSS'Z'"];
[DATEFORMATER setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
NSString *DATE_STRING = [DATEFORMATER stringFromDate:CurrentDate];

【讨论】:

    【解决方案2】:

    如果您使用的是 iOS 10.0 或更高版本,请使用 ISO8601DateFormatter 类。

    【讨论】:

    • 我建议您不要使用 ISO8601DateFormatter,因为当时间为毫秒时它会失败。 openradar.me/29609526
    • 经过将近 3 年的时间,雷达打开了!
    【解决方案3】:

    根据Parse.comdocumentation

    {
        "__type": "Date",
        "iso": "2011-08-21T18:02:52.249Z"
    }
    

    Obj-C

    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
    NSString *newString = [dateFormat stringFromDate:date];
    [params setObject:newString forKey:kKeyDate];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 2010-12-24
      • 1970-01-01
      • 2011-05-18
      • 2016-09-15
      相关资源
      最近更新 更多