2012-01-11 36 views
11

Tôi biết câu hỏi này tương tự như câu hỏi khác, nhưng tôi không thể tìm thấy mã của tôi đang ở đâu sai. Tôi đang cố chuyển đổi ngày hiện tại sang định dạng dd/mm/yyyy. Đây là những gì tôi đang sử dụng:Chuyển đổi NSDate thành dd/mm/yyyy

NSDate *date = [[NSDate alloc]init]; 

NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease]; 
[formatter setDateFormat:@"mm/dd/yyyy"]; 

NSLog(@"%@", [formatter stringFromDate:date]); 

Sự cố là tháng. Mỗi khi tôi chạy mã này, tháng khác nhau. Ví dụ như lần đầu tiên ngày của tôi là 32/11/2012, và tôi đã chạy nó và đó là ngày 55/11/2012.

Có lý do nào khiến điều này sẽ tiếp tục thay đổi không? Ngày và năm dường như ổn.

Cảm ơn.

Trả lời

41

Kiểm tra các trường hợp:

mm nghĩa phút

MM nghĩa tháng

Vì vậy, mã của bạn có lẽ nên đọc

NSDate *date = [[NSDate alloc]init]; 

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"MM/dd/yyyy"]; 

NSLog(@"%@", [formatter stringFromDate:date]); 
+1

+1 đánh bại tôi. Đây là liên kết đến [spec] (http://unicode.org/reports/tr35/tr35-10.html#Date_Format_Patterns). –

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