iOS 倒计时及获取本时区时间

 

 

倒计时

 

 

在viewDidLoad里写个定时器

    [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];

 然后声明定时器的方法

-(void)timerFireMethod:(NSTimer*)theTimer

{

    //定义一个NSCalendar对象

    NSCalendar *cal = [NSCalendar currentCalendar];

    //初始化目标时间

    NSDateComponents *shibo = [[NSDateComponents alloc] init];    [shibo setYear:2014];

    [shibo setMonth:12];

    [shibo setDay:21];

    [shibo setHour:16];

    [shibo setMinute:30];

    [shibo setSecond:0];

    

    //把目标时间装载入date

    NSDate *todate = [cal dateFromComponents:shibo];

    //得到当前时间

    NSDate *today = [NSDate date];

    //用来得到具体的时差

    unsigned int unitFlags = NSYearCalendarUnit |NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit |NSMinuteCalendarUnit | NSSecondCalendarUnit;

    NSDateComponents *d = [cal components:unitFlags fromDate:today toDate:todate options:0];

 

lab是全局变量

    lab.text = [NSString stringWithFormat:@"%d年%d月%d日%d时%d分%d秒",[d year],[d month], [d day],[d hour], [d minute], [d second]];

    

}

 

 

 

获取本时区的时间

    //该方法获取的时间并不是本地时间,而是GMT时间

    NSDate *GMTDate = [NSDate date];

    NSLog(@"currentDate %@",GMTDate);// currentDate 2014-12-04 05:49:57 +0000

    

    //本地时间

    NSTimeZone *timeZone = [NSTimeZone systemTimeZone];

    NSInteger interval = [timeZone secondsFromGMT];

    NSDate *localeDate = [GMTDate dateByAddingTimeInterval:interval];

    NSLog(@"localeDate %@",localeDate);

 

posted @ 2014-12-22 20:04  浪够L就回家  阅读(436)  评论(0编辑  收藏  举报