我的代碼,它創建了一個起始日期這些線路的基礎上,開始1秒周午夜後的第一個星期一:** **修訂轉換爲NSDate的使用dateFromString給出了不正確的結果
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd '00:00:01' a"]; // one second after midnight
NSString *startDateString = [formatter stringFromDate:firstDayOfTheWeek];
[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss a"];
NSDate *nsdStart = [formatter dateFromString:startDateString];
startDateString是2014-03-31凌晨00:00:01(這是正確的)
nsdStart是2014年4月1日00:00:00 PDT(這是錯誤的!)
現在, 我有 做同樣的結束日期,使用此代碼:
[formatter setDateFormat:@"yyyy-MM-dd '23:59:59' a"]; // one second before midnight
NSString *endDateString = [formatter stringFromDate:lastDayOfTheWeek]; // create end date string
[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss a"];
NSDate *nsdEnd = [formatter dateFromString:endDateString]; // convert to NSDate
現在的結果: endDateString:2014年4月6日下午23:59:59(這是正確的)
nsdEnd:零
爲什麼nsdStart和nsdEnd不一樣的原始字符串日期s用於創建nsd日期?
傾倒時,什麼是firstDayOfWeek'的'價值? –
轉儲時nsdStart的值是多少? –
firstDayOfTheWeek:2014-03-31 07:00:01 +0000(我在太平洋時區)。 nsdStart:2014-04-01 07:00:00 +0000(太平洋時區相同)。 – SpokaneDude