2012-05-27 45 views
53

hệ thống của tôi là ngày 26 tháng 5 22:55 nhưng khi tôi nhận được cập nhật với [NSDate date] Hiện nay là ngày 27 tháng 5 02:35Lấy ngày hiện tại và thời gian với [NSDate ngày] Thời gian ngày

là nó vì múi giờ?

nếu có làm thế nào để giải quyết vấn đề này, đó là khi tôi nhận được thời gian ngày, cho tôi ngày hệ thống của tôi và không kiểm tra múi giờ

+3

như thế nào bạn xác định đối tượng ngày tháng là gì? Bạn chỉ cần đăng nhập nó? Nếu vậy, nó có khả năng sẽ in thời gian của nó như là UTC. Vì vậy, vâng, đó là múi giờ. Đối tượng có ngày giờ chính xác, nó chỉ định dạng nó để hiển thị theo Giờ Quốc tế Phối hợp. –

Trả lời

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

hoặc sử dụng

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

cho người mới (và nêu rõ ràng) ... đó là NSLog, chứ không phải NSlog ở dòng cuối cùng ... chỉ là lỗi đánh máy. – fazhool

+5

Một chút trục trặc khác. '@" yyyy-MM-dd hh: mm: ss "' không phải là định dạng ngày đẹp, vì nó sẽ cho 0-12 thời gian không có hậu tố AM/PM. Tốt hơn là '@ 'yyyy-MM-dd hh: mm: ss a" 'hoặc' @ "yyyy-MM-dd HH: mm: ss" '(với định dạng thời gian 0-24). – Alvaro

+0

Cảm ơn bạn! Nó hoạt động tốt. – Raja

Các vấn đề liên quan