iOS通用庫----時(shí)間日期相關(guān)功能封裝

前言

通常讨韭,我們做iOS App開發(fā)過程中,都會(huì)經(jīng)常用到一些常用的功能癣蟋。例如:啟動(dòng)頁透硝,輪播圖,下拉框選擇疯搅,驗(yàn)證碼濒生,網(wǎng)頁緩存,本地圖片選擇幔欧,常用TableView的風(fēng)格罪治,CollectionView風(fēng)格等等丽声,這些常用的功能在我們?nèi)粘i_發(fā)中,幾乎每個(gè)項(xiàng)目都用到觉义,或者是一個(gè)項(xiàng)目當(dāng)中多個(gè)功能用到這些小功能雁社,所以,我打算把這些常用的功能封裝成一個(gè)個(gè)接口晒骇,再封成一個(gè)常用的類庫霉撵,大大的減少寫重復(fù)代碼的過程,與節(jié)省開發(fā)的時(shí)間洪囤,有更多的時(shí)間投入業(yè)務(wù)邏輯之中徒坡。
而今天介紹和封裝的是 “時(shí)間日期相關(guān)功能封裝“。

因?yàn)檫@些功能比較簡單瘤缩,著重點(diǎn)是在于封裝喇完,一鍵集成
長話短說,上圖剥啤,上代碼锦溪,作簡單的說明

圖1是時(shí)間日期相關(guān)功能封裝的主要代碼,左邊的類是功能的大體框架铐殃,核心是封裝類RMPublicMethod海洼。

1

圖2則是集成功能后的界面。

2

現(xiàn)在簡單的介紹下封裝后與日期相關(guān)的集成方法和代碼

1富腊、獲取年齡(方法封裝)坏逢,即某人輸入出生日期后,即可獲取某人的年齡赘被,具體的實(shí)現(xiàn)可查看RMPublicMethod類是整。(github下載地址在下面)
#pragma mark - 獲取年齡
- (IBAction)getTheAge:(UIButton *)sender
{
    // 注意:self.ageTextField.text 為 2015-08-21 12:00:00 這類型的格式。
    NSString *age = [RMPublicMethod userAge:self.ageTextField.text];
    [sender setTitle:age forState:UIControlStateNormal];
}
2民假、獲取自定義格式的日期(方法封裝)浮入,即出生日期后,就可以按照自己想要的格式定義輸出的日期羊异,具體的實(shí)現(xiàn)可查看RMPublicMethod類事秀。
#pragma mark - 獲取自定義格式的日期
- (IBAction)getTheCustomDate:(UIButton *)sender
{
    // 注意:customDateTextField 為 2015-08-21 12:00:00 這類型的格式
    NSString *date = [RMPublicMethod customDate2:self.customDateTextField.text withDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    [sender setTitle:date forState:UIControlStateNormal];
}

3、根據(jù)日期獲取當(dāng)前星期(方法封裝)野舶,即出生日期后易迹,就可以獲取當(dāng)前是星期幾,具體的實(shí)現(xiàn)可查看RMPublicMethod類平道。(github下載地址在下面)

#pragma mark - 根據(jù)日期獲取當(dāng)前星期
- (IBAction)getTheWeekDays:(UIButton *)sender
{
    // 注意:customDateTextField 為 2015-08-21 12:00:00 這類型的格式
    NSString *date = [RMPublicMethod weekdayStringFromDate:self.weekDaysTextField.text withDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    [sender setTitle:date forState:UIControlStateNormal];
}

4睹欲、日期選擇彈出框(方法封裝),點(diǎn)擊“請選擇日期”按鈕即可彈出日期的選擇框,如下圖窘疮,和集成的方法

日期選擇框
#pragma mark - 選擇日期
- (IBAction)opentData:(id)sender
{
    NSDate *currentDate = [NSDate date];//獲取當(dāng)前時(shí)間袋哼,日期
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"YYYY-MM-dd"];
    NSString *dateString = [dateFormatter stringFromDate:currentDate];
    [RMPublicMethod showSelectDatePicker:@"選擇日期" showDate:dateString mode:UIDatePickerModeDate format:@"yyyy-MM-dd" viewControl:self selectedDate:^(NSString *myDate) {
        [self.seletedDate setTitle:myDate forState:UIControlStateNormal];
    } cancel:^{
        NSLog(@"FAILE");
    }];
}

5、時(shí)間選擇彈出框(方法封裝)闸衫,點(diǎn)擊“請選擇時(shí)間”按鈕即可彈出時(shí)間的選擇框,如下圖蔚出,和集成的方法

時(shí)間選擇框

6疫蔓、日期時(shí)間選擇彈出框(方法封裝),點(diǎn)擊“請選擇日期和時(shí)間”按鈕即可彈出日期和時(shí)間的選擇框,如下圖酥筝,和集成的方法

時(shí)間和日期選擇框
#pragma mark - 選擇日期和時(shí)間
- (IBAction)openDateAndTime:(id)sender
{
    NSDate *currentDate = [NSDate date];//獲取當(dāng)前時(shí)間嘿歌,日期
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
    NSString *dateString = [dateFormatter stringFromDate:currentDate];
    [RMPublicMethod showSelectDatePicker:@"選擇日期和時(shí)間" showDate:dateString mode:UIDatePickerModeDateAndTime format:@"yyyy-MM-dd HH:mm:ss" viewControl:self selectedDate:^(NSString *myDate) {
        [self.selectedDateAndTime setTitle:myDate forState:UIControlStateNormal];
    } cancel:^{
        NSLog(@"FAILE");
    }];
}

總結(jié):以上是本人在日常開發(fā)過程中募闲,常用的與時(shí)間相關(guān)的幾大功能靴患,封裝成了一個(gè)類要出,方便日后的調(diào)用與提高開發(fā)效率患蹂。封裝功能代碼的過程中,先考慮接口是否是最精簡囱挑,讓調(diào)用接口者通熟易懂看铆,易使用明白弹惦,并且更注意代碼的簡潔性石抡。

本文源碼可以在這里獲:https://github.com/476455183/CommonUserFramework

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市隐解,隨后出現(xiàn)的幾起案子煞茫,更是在濱河造成了極大的恐慌续徽,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,029評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件床绪,死亡現(xiàn)場離奇詭異裹匙,居然都是意外死亡练慕,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,395評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門绘盟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來龄毡,“玉大人吠卷,你說我怎么就攤上這事路操。” “怎么了瞄沙?”我有些...
    開封第一講書人閱讀 157,570評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵申尼,是天一觀的道長。 經(jīng)常有香客問我灭将,道長洽损,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,535評(píng)論 1 284
  • 正文 為了忘掉前任左驾,我火速辦了婚禮稻爬,結(jié)果婚禮上友瘤,老公的妹妹穿的比我還像新娘束倍。我一直安慰自己绪妹,他們只是感情好柿究,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,650評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上嵌戈,一...
    開封第一講書人閱讀 49,850評(píng)論 1 290
  • 那天又厉,我揣著相機(jī)與錄音,去河邊找鬼。 笑死璧诵,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的炕婶。 我是一名探鬼主播柠掂,決...
    沈念sama閱讀 39,006評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼皇拣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了毒姨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,747評(píng)論 0 268
  • 序言:老撾萬榮一對情侶失蹤崩哩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后汹押,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體妙痹,經(jīng)...
    沈念sama閱讀 44,207評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡塘偎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,536評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了偏瓤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,683評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡掖疮,死狀恐怖奸忽,靈堂內(nèi)的尸體忽然破棺而出们豌,到底是詐尸還是另有隱情混弥,我是刑警寧澤,帶...
    沈念sama閱讀 34,342評(píng)論 4 330
  • 正文 年R本政府宣布对省,位于F島的核電站蝗拿,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蒿涎。R本人自食惡果不足惜哀托,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,964評(píng)論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望劳秋。 院中可真熱鬧仓手,春花似錦、人聲如沸玻淑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,772評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽补履。三九已至添坊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間箫锤,已是汗流浹背贬蛙。 一陣腳步聲響...
    開封第一講書人閱讀 32,004評(píng)論 1 266
  • 我被黑心中介騙來泰國打工雨女, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人阳准。 一個(gè)月前我還...
    沈念sama閱讀 46,401評(píng)論 2 360
  • 正文 我出身青樓氛堕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親野蝇。 傳聞我的和親對象是個(gè)殘疾皇子岔擂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,566評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,799評(píng)論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件浪耘、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,066評(píng)論 4 62
  • 有人說患得患失的人其實(shí)是不自信的人乱灵,因?yàn)椴蛔孕牛詢?yōu)柔寡斷七冲,這本身就是一個(gè)惡性循環(huán)痛倚。 1 大學(xué)一年級(jí)的時(shí)候,我愛...
    阿正扯談閱讀 1,005評(píng)論 1 9
  • (1)焦點(diǎn)一:與美女同事溝通澜躺,她胃不舒服蝉稳,送她一袋草茶和一粒喉糖,建議溫服.她說:親掘鄙,您的面膜分享笑壞肚子了耘戚,我老...
    森林晨曦閱讀 205評(píng)論 0 0