Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 从NSString获取NSDate_Iphone_Objective C_Datetime - Fatal编程技术网

Iphone 从NSString获取NSDate

Iphone 从NSString获取NSDate,iphone,objective-c,datetime,Iphone,Objective C,Datetime,我将PST格式的当前日期和时间作为字符串,例如 currentDateStr 06/02/11 05:40:33 PDT 谁能告诉我如何将这个字符串转换成NSDate Thanx。我想您的日期格式化程序设置是错误的。尝试以下方法: [formatter setDateFormat: @"MM/dd/yy HH:mm:ss a"]; 祝你好运,我想你的日期格式化程序设置是错误的。尝试以下方法: [formatter setDateFormat: @"MM/dd/yy HH:mm:ss a"];

我将PST格式的当前日期和时间作为字符串,例如

currentDateStr 06/02/11 05:40:33 PDT
谁能告诉我如何将这个字符串转换成NSDate


Thanx。我想您的日期格式化程序设置是错误的。尝试以下方法:

[formatter setDateFormat: @"MM/dd/yy HH:mm:ss a"];

祝你好运,我想你的日期格式化程序设置是错误的。尝试以下方法:

[formatter setDateFormat: @"MM/dd/yy HH:mm:ss a"];
祝你好运

从这个问题开始

这没有道理。NSDate只是封装了一个时间上的绝对时刻(让我们暂时忘记相对论),它没有任何时区的概念。说NSDate时间相对于GMT是错误的

要输出特定时区中的日期,应创建NSDateFormatter的实例,并在其上调用setTimeZone:以设置时区。根据Unicode文档,格式字符串@“zzz”应将时区值输出为“PST”

从这个问题

这没有道理。NSDate只是封装了一个时间上的绝对时刻(让我们暂时忘记相对论),它没有任何时区的概念。说NSDate时间相对于GMT是错误的

要输出特定时区中的日期,应创建NSDateFormatter的实例,并在其上调用setTimeZone:以设置时区。根据Unicode文档,格式字符串@“zzz”应将时区值输出为“PST”


如果您使用ISO8601 complint字符串作为日期,我建议使用Peter Hosey制作的解析器


这将为您提供一个NSDate,而不必为时区和其他东西操心。

如果您使用ISO8601 complint字符串作为日期,我建议使用Peter Hosey制作的解析器


这将为您提供一个NSDate,而不必担心时区和其他问题。

使用您的代码,时间是2011-05-11 12:00:00-0700,这是绝对错误的。使用您的代码,时间是2011-05-11 12:00:00-0700,这是绝对错误的。
NSTimeZone *tz = [NSTimeZone timeZoneWithName:@"PST"]; // for PST
NSDate *isoDateFromString = [yourISO8601dateformatterObject dateFromString:iso8601DateString];