2011-05-11 59 views
1

得到的NSDate我在PST格式的當前日期和時間爲一個字符串,如從NSString的

currentDateStr 06/02/11 05:40:33 PDT 

誰能告訴我怎麼這個字符串轉換成NSDate的。

Thanx提前。

回答

0

我想你的日期格式化程序設置是錯誤的。試着用以下:

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

祝您好運

+0

嗨,thanx,但它力量工作 – Aisha 2011-05-11 13:14:14

1

的從這個SO質疑NSDate expressed in different time zones, i.e. local time zone (GMT-400) to PST

NSDate always returns relative to GMT 

這是沒有意義的。 NSDate只是封裝了一個絕對的時刻(讓我們忘記一秒鐘的相對論),它沒有任何時區的概念。說NSDate時間與GMT有關是錯誤的。

要在特定時區輸出日期,您應該創建一個NSDateFormatter實例並調用setTimeZone:在其上設置時區。根據Unicode文檔,格式字符串@「zzz」應將時區值輸出爲「PST」。

NSTimeZone *tz = [NSTimeZone timeZoneWithName:@"PST"]; // for PST 
+0

使用你的代碼的時間是2011-05-11 12:00:00 -0700這是絕對錯誤的。 – Aisha 2011-05-11 13:00:15

+0

@Kiara,錯了怎麼辦?你應該提供更多的細節。 – 2011-05-24 14:02:17

0

如果您正在使用我推薦使用的解析器彼得Hosey http://boredzo.org/iso8601dateformatter/

NSDate *isoDateFromString = [yourISO8601dateformatterObject dateFromString:iso8601DateString]; 

這會給你的NSDate沒有你與時區和東西大驚小怪的日期一ISO8601 complint字符串。