第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

NSDate獲得年/月/日

NSDate獲得年/月/日

NSDate獲得年/月/日在NSDate沒有其他信息的情況下,如何獲得對象的年/月/日?我意識到我可以用類似的東西做到這一點:NSCalendar *cal = [[NSCalendar alloc] init];NSDateComponents *components = [cal components:0 fromDate:date];int year = [components year];int month = [components month];int day = [components day];但這對于像NSDate年/月/日這樣簡單的事情來說似乎有很多麻煩。還有其他解決方案嗎?
查看完整描述

3 回答

?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

因為這顯然是我最受歡迎的答案,所以我會嘗試編輯它以包含更多信息。

盡管它的名字,NSDate它本身只是標志著機器時間的一個點,而不是一個日期。由NSDatea 指定的時間點與年,月或日之間沒有相關性。為此,您必須參考日歷。任何給定的時間點將根據您正在查看的日歷返回不同的日期信息(例如,在格里高利歷和猶太歷的日歷中日期不同),而格里高利歷是最常用的日歷。世界 - 我假設 - 我們有點偏見NSDate應該總是使用它。NSDate幸運的是,更加兩黨合作。


NSCalendar正如你所提到的,獲取日期和時間必須通過,但有一種更簡單的方法:

NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:[NSDate date]];

這將生成一個NSDateComponents對象,其中包含當天系統(tǒng)日歷中當天的日,月和年。(注意:這不一定是當前用戶指定的日歷,只是默認的系統(tǒng)日歷。)

當然,如果您使用的是其他日歷或日期,則可以輕松更改??梢栽凇?nbsp;NSCalendar類參考”中找到可用日歷和日歷單位的列表。有關詳細信息NSDateComponents,請參閱“ NSDateComponents類參考”。


作為參考,從中訪問單個組件NSDateComponents非常簡單:

NSInteger day = [components day];NSInteger month = [components month];NSInteger year = [components year];

您只需注意:NSDateComponents除非您使用有效信息生成它們(即請求NSCalendar使用NSCalendarUnits 提供該信息),否則不會包含您要求的任何字段的有效信息。NSDateComponents它們本身不包含參考信息 - 它們只是簡單的結構,可以存儲數字供您訪問。例如,如果你想得到一個時代,NSDateComponents你將不得不NSCalendarNSCalendarUnitEra旗幟來提供生成器方法。


查看完整回答
反對 回復 2019-08-23
  • 3 回答
  • 0 關注
  • 648 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號