• 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);

  • 相关阅读:
    53. Maximum Subarray
    64. Minimum Path Sum
    28. Implement strStr()
    26. Remove Duplicates from Sorted Array
    21. Merge Two Sorted Lists
    14. Longest Common Prefix
    7. Reverse Integer
    412. Fizz Buzz
    linux_修改域名(centos)
    linux_redis常用数据类型操作
  • 原文地址:https://www.cnblogs.com/zgfblog/p/4178869.html
Copyright © 2020-2023  润新知