zoukankan      html  css  js  c++  java
  • 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];
      }
    }

  • 相关阅读:
    字节跳动_玩转客户端训练营
    Mac更换鼠标指针样式_mousecape教程
    能否使用GHDL+GTKWave代替Quartus ii
    关于新家布置的一点小经验——开博第一篇
    Azure直播活动资源转成MP4并下载到本地
    程序员必备的6款工具软件!
    Java 类型的 Hibernate 映射
    Window10下Erlang和RabbitMQ的下载安装
    Tomcat部署项目,JS文件及后台数据显示都是乱码问题解决
    go语言入门及基本算法
  • 原文地址:https://www.cnblogs.com/tang910103/p/5058500.html
Copyright © 2011-2022 走看看