iOS自定義日期demo分享
有個(gè)項(xiàng)目需求是做個(gè)在日期上選擇的,就是這種:

網(wǎng)上看了幾個(gè)日期的demo都太厚重了,移植起來(lái)太麻煩,然后打算自己寫(xiě)。
就先寫(xiě)個(gè)簡(jiǎn)化的demo看看,主要有幾個(gè)關(guān)鍵點(diǎn):
- 首先要根據(jù)當(dāng)前日期獲取這個(gè)月有幾天
- 然后判斷這個(gè)月份第一天是周幾
- 再根據(jù)上面兩個(gè)數(shù)據(jù)在合理的位置顯示數(shù)據(jù)
- 還要記錄下當(dāng)前的日期方便切換月份
- 如果調(diào)接口的話(huà)其實(shí)根據(jù)后臺(tái)給數(shù)據(jù)比對(duì)下對(duì)應(yīng)的日期展示數(shù)據(jù)即可
其中有一個(gè)容易迷糊的是獲取的星期天是第一天,下標(biāo)是1
所以我們的數(shù)組是這樣的
_weekdays = [NSArray arrayWithObjects: [NSNull null],@"星期日", @"周一", @"周二", @"周三", @"周四", @"周五", @"周六", nil];
好吧,看下寫(xiě)出來(lái)的效果:

總的來(lái)說(shuō)沒(méi)什么難度,就是要熟悉下關(guān)于日期的api.
//3.獲取這個(gè)月總天數(shù),填充數(shù)據(jù)源
NSRange range = [calendar rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:self.currentDate];
NSUInteger numberOfDaysInMonth = range.length;
NSLog(@"%lu", (unsigned long)numberOfDaysInMonth);
//4.獲取這個(gè)月的第一天為周幾
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *comps = [cal
components:NSCalendarUnitYear | NSCalendarUnitMonth
fromDate:self.currentDate];
lastMonthComps.day = 1;
NSDate *firstDay = [cal dateFromComponents:comps];
NSCalendarUnit calendarUnit = NSCalendarUnitWeekday;
NSDateComponents *firsComponents = [cal components:calendarUnit fromDate:firstDay];
NSLog(@"%@", [_weekdays objectAtIndex:firsComponents.weekday]);
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- iOS自定義UIDatePicker日期選擇器視圖
- iOS自定義UIDatepicker日期選擇器視圖分享
- iOS如何獲取當(dāng)前日期前后N天的時(shí)間示例代碼
- iOS獲取某個(gè)日期后n個(gè)月的日期
- iOS自定義日期、時(shí)間、城市選擇器實(shí)例代碼
- iOS實(shí)現(xiàn)自定義日期選擇器示例
- iOS 獲取公歷、農(nóng)歷日期的年月日的實(shí)例代碼
- Android開(kāi)發(fā)中實(shí)現(xiàn)IOS風(fēng)格底部選擇器(支持時(shí)間 日期 自定義)
- iOS計(jì)算上次日期距離現(xiàn)在多久的代碼
- iOS自定義日期和數(shù)據(jù)源選擇控件
相關(guān)文章
講解iOS開(kāi)發(fā)中對(duì)音效和音樂(lè)播放的簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要介紹了iOS開(kāi)發(fā)中對(duì)音效和音樂(lè)播放的簡(jiǎn)單實(shí)現(xiàn),代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-11-11
IOS開(kāi)發(fā)相冊(cè)圖片多選和刪除的功能
之前小編有和大家分享過(guò)一篇關(guān)于從相冊(cè)選取單張照片的文章,那么下面這篇文章跟大家分享下如何相冊(cè)多圖選擇和刪除,以及包括拍照功能,有需要的可以參考學(xué)習(xí),下面來(lái)一起看看吧。2016-09-09
iOS 10 和Xcode8 一起 創(chuàng)建 Siri 功能步驟詳解(OC寫(xiě)的 )
這篇文章主要介紹了iOS 10 和Xcode8 一起 創(chuàng)建 Siri 功能(OC寫(xiě)的 ),本文分步驟給大家介紹的非常詳細(xì),需要的朋友可以參考下2017-12-12
iOS微信分享后關(guān)閉發(fā)送成功提示并返回應(yīng)用
這篇文章主要為大家詳細(xì)介紹了iOS微信分享后關(guān)閉發(fā)送成功提示并返回應(yīng)用的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09

