iOS應(yīng)用開(kāi)發(fā)中使用NSLocale類實(shí)現(xiàn)對(duì)象信息的本地化
如何正確地格式化時(shí)間
這也是我們這兩天遇到的問(wèn)題,跟用戶幾經(jīng)溝通之后,終于抓到log,發(fā)現(xiàn)問(wèn)題竟然是格式化導(dǎo)致的。怎么解決呢?
這個(gè)時(shí)候NSLocale的重要性就體現(xiàn)出來(lái)了。NSLocale作為大家都不常用的一個(gè)類,NSLocale類是將與國(guó)家和語(yǔ)言相關(guān)的信息進(jìn)行簡(jiǎn)單的組合,包括貨幣、語(yǔ)言、國(guó)家等的信息。
所以很簡(jiǎn)單,我們把dateFormatter的locale屬性改一下即可解決這個(gè)問(wèn)題。將下面代碼放在dateFormatter初始化之后:
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
dateFormatter.locale = usLocale;
看看問(wèn)題解決沒(méi)有,編譯一下:
2015-07-07 22:20:08.411 TestDemo[6769:1556968] 2015-07-07 22:20:08
果然,問(wèn)題得到完美解決了。
NSLocale主要用法簡(jiǎn)介
用來(lái)格式化時(shí)間只是NSLocale的一個(gè)小技巧,既然談到NSLocale,我們就來(lái)簡(jiǎn)單了解一下:
+ ISOCountryCodes// 所有的ISO定義的國(guó)家地區(qū)編碼
+ ISOCurrencyCodes// 所有的ISO定義的貨幣編碼
+ ISOLanguageCodes// 所有ISO定義的語(yǔ)言編碼
以上我們可以用NSLog打印出來(lái)看一看。
NSLocale所具有的功能還有很多:
1.獲取系統(tǒng)本地化信息
// 獲取系統(tǒng)所有本地化標(biāo)識(shí)符數(shù)組列表
[NSLocale availableLocaleIdentifiers] ;
2.獲取當(dāng)前系統(tǒng)設(shè)置語(yǔ)言的標(biāo)識(shí)符
[[NSLocale currentLocale] localeIdentifier];
3.獲取本地化對(duì)象的具體內(nèi)容
NSLocale *local = [NSLocale currentLocale];
key值參見(jiàn)NSLocale Calendar Keys
4.獲取當(dāng)前語(yǔ)言的排版方向和字符方向
[NSLocale lineDirectionForLanguage:[[NSLocale currentLocale] objectForKey:NSLocaleLanguageCode];
5.獲取用戶的語(yǔ)言偏好設(shè)置列表,該列表對(duì)應(yīng)于IOS中Setting>General>Language彈出的面板中的語(yǔ)言列表。
[NSLocale preferredLanguages]
第一個(gè)元素即為當(dāng)前用戶設(shè)置的語(yǔ)言
6.監(jiān)聽(tīng)用戶本地化設(shè)置的消息
[NSNotificationCenter defaultCenter] addObserver:self selectorselector(localChangedHandler name:NSCurrentLocaleDidChangeNotification object:nil];
7.以本地化方式獲取國(guó)際化信息的顯示名稱
NSLocale *curLocal = [[NSLocale alloc]initWithLocaleIdentifier"zh-Hans"] ;
相關(guān)文章
iOS 對(duì)當(dāng)前webView進(jìn)行截屏的方法
下面小編就為大家?guī)?lái)一篇iOS 對(duì)當(dāng)前webView進(jìn)行截屏的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04IOS 開(kāi)發(fā)中發(fā)送e-mail的幾種方法總結(jié)
這篇文章主要介紹了IOS 開(kāi)發(fā)中發(fā)送e-mail的幾種方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-03-03iOS實(shí)現(xiàn)去除html標(biāo)簽的方法匯總
相信大家在做網(wǎng)站的時(shí)候,經(jīng)常會(huì)遇到去除html標(biāo)簽的問(wèn)題,下面這篇文章主要給大家總結(jié)介紹了關(guān)于iOS如何實(shí)現(xiàn)去除html標(biāo)簽的一些方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-10-10iOS 基本動(dòng)畫、關(guān)鍵幀動(dòng)畫、利用緩動(dòng)函數(shù)實(shí)現(xiàn)物理動(dòng)畫效果
這篇文章主要介紹了iOS 基本動(dòng)畫、關(guān)鍵幀動(dòng)畫、利用緩動(dòng)函數(shù)實(shí)現(xiàn)物理動(dòng)畫效果的相關(guān)資料,需要的朋友可以參考下2016-10-10實(shí)例講解iOS應(yīng)用的設(shè)計(jì)模式開(kāi)發(fā)中的Visitor訪問(wèn)者模式
這篇文章主要介紹了iOS應(yīng)用的設(shè)計(jì)模式開(kāi)發(fā)中的Visitor訪問(wèn)者模式的實(shí)例,示例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-03-03iOS tableview實(shí)現(xiàn)頂部拉伸效果
這篇文章主要為大家詳細(xì)介紹了iOS tableview實(shí)現(xiàn)頂部拉伸效果,以及頭部拉伸效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05詳解iOS tableViewCell自適應(yīng)高度 第三發(fā)類庫(kù)
在github中有許多大牛封裝好的第三發(fā)類庫(kù),其中有個(gè)自適應(yīng)cell高度的類庫(kù)。接下來(lái)通過(guò)本文給大家介紹iOS tableViewCell自適應(yīng)高度 第三發(fā)類庫(kù),需要的朋友參考下2016-04-04