2012-05-27 11 views
53

My sistemin tarih saat Mayıs 22:55 26 olduğunu ama [NSDate date] tarih zamanla tarihi almak zaman[NSDate tarih]

nedeniyle zaman dilimine ait Mayıs 02:35 27 olduğu ile Güncel tarih ve saat Get? i tarih zaman aldığımda, bana sistemin tarihini vermek, bu sorunu çözmek için ve saat dilimini

+3

Nasılsın kullanmaz nasıl evet ise

Tarih nesnesinin ne olduğunu belirliyorsunuz? Sadece giriş yapıyor musun? Öyleyse, büyük olasılıkla zamanını UTC olarak yazdıracaktır. Evet, saat dilimi. Nesne doğru tarih ve saate sahip, sadece Koordinatlı Evrensel Zaman içinde görüntülemek için biçimlendiriyor. Yeni başlayanlar için –

cevap

121
NSLocale* currentLocale = [NSLocale currentLocale]; 
[[NSDate date] descriptionWithLocale:currentLocale]; 

kontrol etmek veya

NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
// or @"yyyy-MM-dd hh:mm:ss a" if you prefer the time with AM/PM 
NSLog(@"%@",[dateFormatter stringFromDate:[NSDate date]]); 
+6

(ve açıkça belirtiniz) ... bu NSLog, son satırdaki NSlog değil ... sadece bir yazım hatası. – fazhool

+5

Başka bir küçük aksaklık. "@" yyyy-AA-dd ss: dd: ss ", hiçbir AM/PM son eki olmadan 0-12 zaman vereceğinden, güzel bir tarih biçimi değildir. Daha iyi olanı, @ yyyy-AA-dd ss: dd: ss a "' veya '@" yyyy-AA-gg HH: dd: ss "' (0-24 zaman biçimi için). – Alvaro

+0

Teşekkürler! İyi çalışıyor. – Raja