2015-12-15 61 views
2

NSCalendar有像個月時代等:與數字常量

var monthSymbols: [String] { get } 
var eraSymbols: [String] { get } 
… 

什麼是往返於數字常量映射它們的正確方法曆法符號性質相關NSCalendar符號,我需要在NSDateComponents

回答

0

我真的希望實際上有更好的方法,因爲這看起來很羅嗦,但本質上這只是獲得訪問NSCalendar中的monthSymbols

 
let monthNumeric = 1 // January 
let monthName = "January" 

print(NSCalendar.currentCalendar().monthSymbols[monthNumeric-1]) 
print(NSCalendar.currentCalendar().monthSymbols.indexOf(monthName)! + 1) 

應同樣適用於eraSymbols 請注意,斯威夫特基金會正在發展&來源是public。由於API應該與達爾文基金會大致匹配,因此它是查看封底的好資源。

+0

同樣的**不適用於時代符號。時代的數字常量與月份不同,從零開始,至少在'NSCalendarIdentifierISO8601'日曆中,大概是'NSCalendarIdentifierGregorian'。 – mistercake

+0

對不起,我的評論是針對_eraSymbols_,就像_monthSymbols_基本上只是一個_Strings_ _Array_的事實。內容當然會有所不同。 – timbo

+0

他們是我已經在我的問題中說過的字符串數組,並且內容不同是可以預料的。您似乎認爲數組中的字符串常量索引與數字常量之間存在直接關係。但是這種關係在符號上並不相同。有時候我必須添加'1',有時候我不會。我正在尋找適用於所有**日曆中的** all **符號的解決方案,並且我不想寫一個詳盡的映射函數。一個日期和時間的API應該可以讓我省下這些努力。 – mistercake