【问题标题】:Date format of Tapku CalendarTapku日历的日期格式
【发布时间】:2013-11-06 11:44:14
【问题描述】:

在API中,选择的日期格式如2013-11-01T23:00:00%2B0000

但我的日期格式是这样的:2013-11-01T23:00:00+0000

为了转换,我使用了以下代码:

NSString *plus = [NSString stringWithFormat:@"%@%@", [timeStamp substringToIndex:[timeStamp length]-5], @"%2B0000"];

加号的 unicode 是 (%2B) 而不是 (+)。

但是当我从 Tapku 日历中选择日期时,我收到了错误消息,提示 日期格式错误。我该如何解决这个问题?

【问题讨论】:

    标签: ios objective-c calendar date-format tapku


    【解决方案1】:
               NSDate *tempDate=toDate;
    
               NSDateFormatter *df = [[NSDateFormatter alloc] init];
               [df setDateFormat:@"yyyy-MM-dd HH:mm:ss zzzz"];
    
    
    
               [periodOfInspectionToTextField setText:[NSString stringWithFormat:@"%@",[df stringFromDate:d]]];
               toDate=[df dateFromString:periodOfInspectionToTextField.text];
    

    【讨论】:

    • 但是在我获取数据的 api 中,格式是 utc 。当它像这样 2013-11-01T23:00:00+0000 我没有问题。但是 api 格式不接受我所拥有的 (+)plus。所以我必须使用 (+)plus 的 unicode。在这种情况下,Tapku 不接受。那就是问题所在。我说清楚了吗?
    • [df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss z"] 如果您设置了这样的格式化程序,您将得到这样的答案“ 2013-11-08T05 :30:00 GMT+5:30" 如果您对日期格式有更多了解,请参考这两个链接 waracle.net/iphone-nsdateformatter-date-formatting-tableb2cloud.com.au/how-to-guides/nsdateformatter-format-strings
    • 我已经得到了这样的日期格式。但我的问题是我需要这样: 2013-11-01T23:00:00%2B0000 用于我的 api 格式。但在这种情况下,tapku 日历不承认这是一个日期。 ?
    【解决方案2】:

    你需要设置tapku的日期格式如下:-

       [YYYY-MM-DD hour:minute:second];
    

    也可以点击此链接了解更多详情。

    Tapku library -what is the date format in day view

    【讨论】:

      【解决方案3】:

      首先,您需要从 API 中取消转义日期字符串以删除百分比转义:

      NSString *dateString = [@"2013-11-01T23:00:00%2B0000" stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
      

      这将给出2013-11-01T23:00:00+0000 的日期字符串。然后需要把这个字符串解析成NSDate对象:

      NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
      [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:sszzzz"];
      
      NSDate *date = [formatter dateFromString:dateString];
      

      【讨论】:

      • 在这种情况下,日期为零
      • @santa 我刚刚在 Xcode 和 here's the output I get 中运行了代码。 date 变量不是 nil
      • 对不起,我犯了一个错误,它是零。但是我已经有了这个结果。 api 格式不接受这种格式。在 api 格式中,而不是 ** (+)** plus 我需要显示 ( %2B ) 这个字符。 %2B 是 +(plus) 的 unicode。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多