2014-09-23 19 views
6

Bu garip sorun ios 8 sürümü ile ortaya çıktı.iOS 8 Avrupa/Moskova Zaman Dilimi Sayı

NSDate * date = [NSDate dateWithTimeIntervalSince1970:1414785600]; 

dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"ru_RU"]]; 
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"Europe/Moscow"]]; 
[dateFormatter setDateStyle:NSDateFormatterFullStyle]; 

[dateFormatter setDateFormat:@"MM"]; 
NSString * month = [dateFormatter stringFromDate: date]; 

tarihi 2014-11-01 00:00:00 MSK (veya 2014-10-31 20:00:00 +0000)

Yayınlanıyor ios 7 ay değeri 11 olduğunu Ama ios 8 yanlış ne 10. Herhangi bir fikir olduğunu: İşte örnek kod? Teşekkürler.

PS. Şu anda Asya/Muscat saatini kontrol etme (MSK gibi +4). Hiçbir sorun yok, ay 11.

+0

değerin farklı saat dilimlerinde aynı olup olmadığını kontrol mü? – marceloquinta

cevap

3

[timezone secondsFromGMTForDate:date] belirtilen tarihte iOS8 de -iOS7 de 14400 ve 10800 döndürür. Bu, iOs7'nin henüz bilmediği http://www.timeanddate.com/time/change/russia/moscow numaralı Rus hükümeti tarafından yapılan değişiklikleri (yine) yansıtmalıdır.

+0

Yani iOS 7 sorunu ve iOS 8 sorunu değil mi? – gnasher729

+1

İnanıyorum ki, genellikle eski iOs sürümleri bu tür değişiklikler için küçük güncellemeler alır. –