繁体   English   中英

如何将NSString转换为有效的NSDate(iOS)

[英]How can I Convert a NSString to a valid NSDate (iOS)

我正在以“ 2012-02-17 14:21:30 +0000”的形式将字符串从javascript传递到Objective-C。 我的代码如下:

NSString *firingDate = [_parameters objectForKey:@"fire"];
NSDate *notificationDate = [NSDate dateWithString:firingDate];

问题是我最终阅读了OS X参考而不是iOS文档(doh!),所以这引发了警告,因为iOS中不存在dateWithString。 从理论上讲,我认为这根本不起作用,尽管有警告,但确实可以。

将字符串转换为NSDate的正确方法是什么?

正确的方法是将NSDateFormatter用作从字符串创建日期的工厂(反之亦然)。

尝试这个:

NSString *firingDate = [_parameters objectForKey:@"fire"];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSDate *notificationDate = [dateFormatter dateFromString:firingDate];

查看参考,以解析来自多个区域的日期。

完成后不要忘记释放格式化程序。

尝试:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"YYYY-MM-dd HH:mm:ss Z";
NSDate *notificationDate = [formatter dateFromString:firingDate];

暂无
暂无

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

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