'YYYY'和'yyyy'的區別是什麼?我在this link中讀到,它表示NSDateFormatter中'YYYY'和'yyyy'的區別
一個常見的錯誤是使用YYYY。 yyyy指定日曆年 ,而YYYY指定ISO 年曆中使用的年份(「年份周」)。在大多數情況下,yyyy和yyyy產生的數字相同,但它們可能不同。通常,您應該使用日曆年的 。
但是當我嘗試使用
NSString *stringDate = @"Feb 28, 2013 05:30pm";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MMM dd, yyyy hh:mma"];
NSDate *date=[dateFormatter dateFromString:stringDate];
NSLog(@"Date 1 : %@",date); //2013-02-28 12:00:00 +0000
NSString *stringDatee = @"Feb 28, 2013 05:30pm";
NSDateFormatter *dateFormatterr = [[NSDateFormatter alloc] init];
[dateFormatterr setDateFormat:@"MMM dd, YYYY hh:mma"];
NSDate *datee=[dateFormatterr dateFromString:stringDatee];
NSLog(@"Date 2 : %@",datee); //2013-01-05 12:00:00 +0000
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMM dd, YYYY hh:mma"];
NSString *dateString = [dateFormat stringFromDate:datee];
NSLog(@"date 3 : %@", dateString); //Jan 05, 2013 05:30PM
如這裏,結果到date
和datee
不同的,這是我的理解,但爲什麼之日起2和日期3的結果有什麼不同?由於我正在創建日期從字符串和反向重新字符串,但輸出不匹配?
有沒有人知道同樣的道理?雖然它規定了每年的一週,但我仍然應該得到相同的結果。
謝謝..
編輯: -
如果我的代碼
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMM dd, YYYY hh:mma"];
NSString *dateString = [dateFormatterr stringFromDate:[NSDate date]];
NSLog(@"date: %@", dateString); //Feb 28, 2013 04:37PM
如果結果正確我的結果,但同時我作爲傳遞字符串到日期,我得到2013-01-05 12:00:00 +0000
,檢查日期2 NSLog,奇怪的結果,爲什麼?
每個人都應該看的WWDC 2011的視頻稱爲「會話117 - 執行日曆計算」,59:11,142.2 MB(HD)」,以獲取有關開明虛擬現實點菜星際迷航都能跟得上? 。我的意思是基於日曆的計算 - 什麼不是。如果你還沒有看過這個視頻,請觀看它,這是非常有趣的,如果你喜歡這樣的東西 – 2013-02-28 11:11:11
@DigiMonk謝謝,我會看看它.. – 2013-02-28 11:12:04
[ISO週日期](http://en.wikipedia.org/wiki/ISO_week_date) – 2013-02-28 11:35:26