您的位置:首页 > 移动开发 > IOS开发

iOS编程上获取本地时间以及星期几时间

2013-03-20 19:30 387 查看
本文回复一位网友关于获取时间的问题:http://blog.csdn.net/duxinfeng2010/article/details/8653411#reply

- (void)viewDidLoad
    {
        
        [super viewDidLoad];
        
        NSInteger year,month,day,hour,min,sec,week;
        NSString *weekStr=nil;
        
        NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
        NSDate *now = [NSDate date];;
        NSDateComponents *comps = [[NSDateComponents alloc] init];
        NSInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit | 
        NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
        
        comps = [calendar components:unitFlags fromDate:now];
        year = [comps year];
        week = [comps weekday];    
        month = [comps month];
        day = [comps day];
        hour = [comps hour];
        min = [comps minute];
        sec = [comps second];
        
        if(week==1)
        {
            weekStr=@"星期天";
        }else if(week==2){
            weekStr=@"星期一";
            
        }else if(week==3){
            weekStr=@"星期二";
            
        }else if(week==4){
            weekStr=@"星期三";
            
        }else if(week==5){
            weekStr=@"星期四";
            
        }else if(week==6){
            weekStr=@"星期五";
            
        }else if(week==7){
            weekStr=@"星期六";
            
        }    
        else {
            NSLog(@"error!");
        }
        
        NSLog(@"现在是:%d年%d月%d日 %d时%d分%d秒  %@",year,month,day,hour,min,sec,weekStr);
        
        NSInteger Monday = day - week+1+1;
        for (int i=1; i<=7; i++) {
            
            NSLog(@"本周 星期%d :%d年%d月%d日 ",i,year,month,Monday);
            Monday=Monday+1;
        }
        
    }


注:最后打印本周日期算是取得特殊值,还要考虑每个月份天数不同情况,以及某一周跨月情况处理;

运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: