• NSTimer 实现到一个指定时间(年、月、日)的倒计时


    //模仿抢购到记时

    //用指定格式dateFormatter构建date实例,获取构建的这个时间与当前时间[NSDate date]的时间差(秒数)

    - (NSString *)countDown
    {
      NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
      [dateFormatter setDateFormat:@”yyyy-MM-dd HH-mm-ss”];
      NSDate *date = [dateFormatter dateFormString:@”2015-12-18 9:15:00”];
      NSInteger poorDate = [date timeIntervalSinceDate:[NSDate date]];
      NSInteger minute = poorDate / 60;//计算分钟数
      if (!poorDate)
      {
        self.lable.text = @”活动正在进行,赶快抢购吧。。。”;
        self.button.enabled = YES;//当时间差为0时,是抢购按钮为激活状态
        [self.timer invalidate];//停止倒计时
      }
      if (minute >= 60)
      {
        NSInteger hour = minute / 60;//计算小时
        if (hour >= 24)
        {
          NSInteger day = hour / 24;//计算天
          return [NSString stringWithFormString:@”离开始还有%02ld天%02ld小时%02ld分钟%02ld秒”,day,hour % 24,minute % 60,poorDate % 60];
        }
        else
          return [[NSString stringWithFormString:@”离开始还有%02d天%02ld小时%02ld分钟%02ld秒”,0,hour,minute % 60,poorDate % 60];
      }
      else
        return [NSString stringWithFormString:@”离开始还有%02d天%02d小时%02ld分钟%02ld秒”,0,0,minute,poorDate % 60];
    }

    - (void)testRepeatTimer
    {
      if (!timer)//构建一个timer_实例,时间间隔为1秒,self调用倒计时方法(countDown),repeats需要重复
      {
        timer_ = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(countDown) userInfo:nil repeats:YES];
      }
    }

  • 相关阅读:
    Asp.net 自定义config文件读取
    sql 两个数字范围取随机数
    数据库中一些简单的防刷机制
    sql日期操作收集
    全文索引工作收集
    JQuery Div滚动条插件 jScroll
    OLE DB 访问接口 'Microsoft.Jet.OLEDB.4.0' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询
    vs 高级保存选项的设置
    Web.config配置文件详解
    JS,Jquery获取各种屏幕的宽度和高度
  • 原文地址:https://www.cnblogs.com/tang910103/p/5058500.html
Copyright © 2020-2023  润新知