項目截圖
最近又有個奇葩的需求,就像圖中畫框的那個,一進到這個頁面,就要展示 當前時間再加一個小時 ,而且展示的方法如圖所示,還不是系統(tǒng)直接轉(zhuǎn)的格式,系統(tǒng)中沒沒有星期,只有周幾,這個還需要自己寫!話不多說,主要用到了一個方法,它可以直接當前時間加小時,分鐘,年月日都可以加!!話不多說,代碼走起~~~~
我是方法是現(xiàn)獲得一個小時之后的nsdate,在分別轉(zhuǎn)化成年月日 和星期幾和時分,再把他們?nèi)齻€拼接到一起!!!
//一小時之后的時間
-(void)hourtime{
//得到當前的時間
NSDate * mydate = [NSDate date];
NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH-mm"];
NSString *currentDateStr = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"---當前的時間的字符串 =%@",currentDateStr);
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *comps = nil;
comps = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitMonth fromDate:mydate];
NSDateComponents *adcomps = [[NSDateComponents alloc] init];
[adcomps setHour:1];//現(xiàn)在時間向后推一個小時
/*
[adcomps setYear:1];//現(xiàn)在時間向后推一個一年
[adcomps setMonth:1];//現(xiàn)在時間向后推一個月
[adcomps setDay:1];//現(xiàn)在時間向后推一個天
[adcomps setMinute:1];//現(xiàn)在時間向后推一個分
[adcomps setSecond:1];//現(xiàn)在時間向后推一個秒
*/
NSDate *newdate = [calendar dateByAddingComponents:adcomps toDate:mydate options:0];
NSString *beforDate = [dateFormatter stringFromDate:newdate];
NSLog(@"---后一個小時 =%@",beforDate);
//獲取星期幾
NSDateComponents *componets = [[NSCalendar autoupdatingCurrentCalendar] components:NSWeekdayCalendarUnit fromDate:[NSDate date]];
int weekday = [componets weekday];//a就是星期幾,1代表星期日,2代表星期一,后面依次
NSArray *weekArray = @[@"星期日",@"星期一",@"星期二",@"星期三",@"星期四",@"星期五",@"星期六"];
NSString *weekStr = weekArray[weekday-1];
NSLog(@"%@",weekStr);
//獲得年月日
NSDate * senddate1=[NSDate date];
NSDateFormatter *dateformatter1=[[NSDateFormatter alloc] init];
[dateformatter1 setDateFormat:@"YYYY-MM-dd"];
NSString * locationString=[dateformatter1 stringFromDate:newdate];
NSLog(@"locationString:%@",locationString);
//獲得時分
NSDate * senddate2=[NSDate date];
NSDateFormatter *dateformatter2=[[NSDateFormatter alloc] init];
[dateformatter2 setDateFormat:@"HH:mm"];
NSString * locationString2=[dateformatter2 stringFromDate:newdate];
NSLog(@"locationString:%@",locationString2);
//將三個拼接賦值
[serviceTimebutton1 setTitle:[NSString stringWithFormat:@"%@ %@ %@",locationString,weekStr,locationString2] forState:UIControlStateNormal];
[serviceTimebutton1 setTitleColor:kColorRGB(0x222222) forState:UIControlStateNormal];
NSTimeInterval time = [newdate timeIntervalSinceDate:senddate];
serminutes = ((int)time)/60;
[Timebutton1 setTitleColor:kColorRGB(0x3d3d3d) forState:UIControlStateNormal];
NSString *minutSt = [NSString stringWithFormat:@"%d",serminutes];
[task setObject:minutSt forKey:@"service_time_number"];
}