简体   繁体   English

将 NSDate 转换为 JSON 日期?

[英]Convert NSDate to JSON Date?

I need to post a NSDate object using HTTP post to parse.com.我需要使用 HTTP post 将NSDate对象发布到 parse.com。
I don't know how to convert it.我不知道如何转换它。

//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];

Params are serialized in the body of the Http request.参数在 Http 请求的主体中被序列化。 I know that everything else I'm doing is correct because if I comment out adding the NSDate to the params, then it works.我知道我所做的其他一切都是正确的,因为如果我注释掉将NSDate添加到参数中,那么它就可以工作。

try this..试试这个..

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];

If you are using iOS 10.0 or above, use the ISO8601DateFormatter class.如果您使用的是 iOS 10.0 或更高版本,请使用 ISO8601DateFormatter 类。

According to the Parse.com documentation :根据Parse.com 文档

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

Obj-C对象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];

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM