2016-11-14 7 views
0

NSDateFormatterのdateFromStringを使用していますが、文字列が指定されていると、別の時間に吐き出されます。iOS 'dateFromString'別の返品ですか?

コード

NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init]; 
dateformatter.dateFormat = @"yyyy-MM-dd"; 
NSDate *firstDate = [dateformatter dateFromString:@"2017-06-02"]; 
NSDate *secondDate = [dateformatter dateFromString:@"2016-11-02"]; 

出力私は、彼らが同じ時間を持っていない理由を不思議に思う

firstDate: 2017-06-01 22:00:00 +0000 
secondDate: 2016-11-01 23:00:00 +0000 

+2

デバッガで日付を印刷すると、印刷された日付がUTC形式で出力されるため、デバッガに出力される日付は、さらにテストしたい場合は渡された日付をUTCに変換してから変換しますdateをStringに変換し、デバッガに出力します。 – Rajat

答えて

1

次の2つの日付の時間を指定していないので、彼らは初期化されました真夜中、現地時間。それらを印刷すると、UTCで表示されました。あなたの現地時間帯(中央ヨーロッパ時間)は、2016年3月27日から2016年10月30日までの夏時間を観測しました。したがって、夏時間の下にあった6月の深夜の日付は、UTC(22:00:00)夏時間に該当しない11月の深夜の日付は、UTC(23:00:00)よりわずか1時間早いです。

関連する問題