iOS_开发实战

日历的简单应用

2020-04-30  本文已影响0人  Andy_Livings

日历的简单应用。

通过日历获取到当前时间

/// 1.获取当前时间
- (IBAction)getCurrentDate {
    
    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSDateComponents *components = [calendar components:NSCalendarUnitMinute | NSCalendarUnitMonth | NSCalendarUnitHour | NSCalendarUnitDay | NSCalendarUnitYear | NSCalendarUnitSecond fromDate:[NSDate date]];
    
    NSString *currentDate = [NSString stringWithFormat:@"%ld年%ld月%ld日 %ld时%ld分%ld秒", components.year, (long)components.month, (long)components.day, (long)components.hour, (long)components.minute, components.second];
    
    NSLog(@"当前时间:%@", currentDate);
    self.titleLabel.text = currentDate;
    
}

查看今天是在今年的第几周

/// 2.查看今天是在今年的第几周
- (IBAction)getCurrentWeek {
    
    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSInteger week = [calendar ordinalityOfUnit:NSCalendarUnitWeekday inUnit:NSCalendarUnitYear forDate:[NSDate date]];
    
    NSString *currentWeek = [NSString stringWithFormat:@"今天是今年的第%ld周",(long)week];
    
    NSLog(@"%@", currentWeek);
    self.titleLabel.text = currentWeek;
}

现在往后5天8小时

/// 3.现在往后5天8小时
- (IBAction)getAfterDate {
    
    NSDateComponents *components = [[NSDateComponents alloc] init];
    components.year = 0;
    components.day = 5;
    components.hour = 8;
    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSDate *currentDate = [NSDate date];
    NSDate *nextDate = [calendar dateByAddingComponents:components toDate:currentDate options:NSCalendarMatchStrictly];
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    formatter.dateFormat = @"yyyy年MM月dd日 hh时mm分ss秒";
    NSString *result = [formatter stringFromDate:nextDate];
    
    NSLog(@"5天8小时后:%@", result);
    self.titleLabel.text = result;
}

实现效果如下图:


Simulator Screen Shot - iPhone 11 Pro Max - 2020-04-30 at 16.02.00.png

demo下载地址

上一篇 下一篇

猜你喜欢

热点阅读