2013-08-30 91 views
3

我在我的應用程序,在這裏我需要顯示,僅在12 - hour format的格式,我已經使用這個代碼顯示dateNSDateFormatter不允許24小時格式

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:kDateDisplayFormat]; 
NSTimeZone *timeZone = [NSTimeZone systemTimeZone]; 
[dateFormatter setTimeZone:timeZone]; 
NSString *todaysDate = [NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:[NSDate date]]]; 
[[self lblPointsDate] setText:todaysDate]; 
顯示 日期

在這裏,當我將我的iPhone日期格式更改爲24小時制時,它以24小時格式顯示。我需要轉換 24小時至12小時格式或使其只顯示在12小時格式。我怎樣才能做到這一點?

+3

請張貼你'kDateDisplayFormat',也是我建議從來沒有使用靜態格式,但使用'NSDateFormatterStyle' – rckoenes

+0

看到這麼回答http://stackoverflow.com/問題/ 11139973 /如何轉換24小時字符串時間到12小時時間字符串格式 – Deepesh

+0

#define kDateDisplayFormat @「dd.M.yyyy/hh a」 –

回答

5

只需切換

kDateDisplayFormat.dateFormat = @"HH:mm a"; 

kDateDisplayFormat.dateFormat = @"hh:mm a"; 
+0

我只使用小」hh「 –

+0

非常簡單的解決方案nic ... – TamilKing

2

雖然解決方案是使用12小時時間格式hh和不忒24小時HH格式爲什麼不能讓用戶系統偏好選擇正確的格式:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
dateFormatter.dateStyle = NSDateFormatterMediumStyle; 
dateFormatter.timeStyle = NSDateFormatterShortStyle; 

self.lblPointsDate.text = [dateFormatter stringFromDate:[NSDate date]] 

此外,沒有必要將dateFormatter.timeZone設置爲系統時區,這是默認設置。

+0

我需要我的自定義格式.. –

+0

您發佈的dateFormat是正確的,可以發佈在哪裏打印日期和dateFormatter的結果? – rckoenes

0

嘗試以下操作:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 
[dateFormatter setDateFormat:[NSDateFormatter dateFormatFromTemplate:@"hh:mm a" options:0 locale:[NSLocale currentLocale]]]; 
NSString *theTime = [dateFormatter stringFromDate:[NSDate date]];