2015-05-22 19 views
7
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
    [formatter setDateFormat:@"hh:mm:ss a"]; 
    NSLog(@"Today's Time: %@", [formatter stringFromDate:[NSDate date]]); 

Đoạn mã trên chỉ cung cấp cho các đầu ra sau đây Today's Time: 15:46:43 Tôi muốn đầu ra được Today's Time: 3:46 PM. Tôi đã lướt rất nhiều và tôi không tìm thấy cách nào để hiển thị AM/PM. Sẽ thực sự hữu ích nếu ai đó có thể giúp tôi tìm ra lối thoát. Tôi đang sử dụng XCode 6.3 và Thiết bị của tôi đã cài đặt iOS 8.3 trong đó.NSDateFormatter- stringFromDate không trở về AM/PM

+0

https://stackoverflow.com/a/46027060/3400991 thử điều này trong nhanh chóng 3 –

Trả lời

13

Kiểm tra cài đặt thiết bị của bạn trong 24 giờ giờ. Nếu nó bật, hãy tắt nó đi.

Mã của bạn hoàn toàn ổn. Tôi nhận được đầu ra như hình dưới đây: Thời gian ngày hôm nay: 16:31:58

Nếu bạn không muốn hiển thị giây sử dụng mã này:

[formatter setDateFormat:@"hh:mm a"]; 
+1

Làm sao tôi bỏ lỡ! Cảm ơn bạn. Có, đó là cài đặt thiết bị của tôi đã tạo sự cố. Cảm ơn bạn rất nhiều. –

+0

@ManjuBasha Welcome :) –

0

Hãy thử

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"hh:mm a"]; 
NSLog(@"Today's Time: %@", [formatter stringFromDate:[NSDate date]]); 
+0

của nó đưa ra một câu trả lời với định dạng 24 giờ + AM/PM ('Ngày và Giờ Hôm nay: 16:40 PM') thật ngớ ngẩn. Tôi muốn ở định dạng 12Hr. Tôi đã thử '@" hh: mm a "' và nó chỉ trả về 'Ngày và Giờ Hôm nay: 16: 38' –

+0

" HH ", nó sẽ trả về thời gian ở định dạng 24Hr và" hh "ở định dạng 12Hr – Sujay

1

Thay đổi định dạng thời gian thời gian thiết bị của bạn đến Định dạng 12 giờ thay vì định dạng 24 giờ. Bạn không thể nhận được giờ chiều trong định dạng thời gian 24 giờ.

Thời gian ngày hôm nay: 15: 46: 43

7

HH: 24 định dạng giờ

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; 
[formatter setLocale:locale]; 
[formatter setDateFormat:@"HH:mm a"]; 

đầu ra

Today's Time: 16:42 PM 

hh: 12 giờ định dạng

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; 
[formatter setLocale:locale]; 
[formatter setDateFormat:@"hh:mm a"]; 

đầu ra

Today's Time: 04:43 PM 
+1

Cảm ơn bạn. 'setLocale' là chìa khóa cho tôi. – George

1

Hãy thử này

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"hh:mm a"]; 
    [dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]]; 
    NSString *stringFromTime = [dateFormatter stringFromDate:[NSDate date]]; 
Các vấn đề liên quan