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];
  }
}

时间: 2024-10-10 18:28:17

NSTimer 实现到一个指定时间(年、月、日)的倒计时的相关文章

ASP.NET 日期 时间 年 月 日 时 分 秒 格式及转换

在平时编码中,经常要把日期转换成各种各样的形式输出或保持,今天专门做了个测试,发现DateTime的ToString()方法居然有这么多的表现形式,和大家一起分享. DateTime time=DateTime.Now;   //2010-5-28  11:22:02.4552691 星期五               ime.To("y")                         "2010年5月"               time.To("

Sql server 查询指定时间区间工作日数、休息日数等日期操作

1.查询指定时间区间的工作日 这个主要难点是法定节假日,国家的法定节假日每年都不一样,还涉及到调休,所以我们设计一个假日表.主要字段有年份,类型(是否调休),假期日期.如下: CREATE TABLE [dbo].[Holidays]( [ID] [int] IDENTITY(1,1) NOT NULL, [Holiday] [datetime2](7) NULL,--假期日期 [YearS] [char](4) NULL,--年份 [daytype] [int] NULL--类型 ) 添加好当

在指定时间干,必须干(kbmmw 中的事件调度)

从去年开始,kbmmw 慢慢增加内涵,除了完善各种服务外,陆续增加和扩展了作为一个中间件必须有的功能, 例如,权限管理.日志系统.调度系统.内存调试等功能. 今天给大家介绍一下kbmmw 的调度事件,调度事件的主要目标就是”在指定时间干,必须干“,不是“爱干”,是“必须干” :). 在传统的delphi 中事件调度室通过两种方式,一种方式通过Ttimer 来实现,(我20年做的母校的食堂餐饮消费系统就是通过Ttimer来轮询 POS 机的).另外一种就是通过扩展Tthread 线程类,通过后台完

【转】Expire Google Drive Files 让Google Docs云盘共享连接在指定时间后自动失效

最近在清理Google Docs中之前共享过的文件链接,发现Google Docs多人协作共享过的链接会一直存在,在实际操作中较不灵活.正好订阅的RSS推送了Pseric写的这篇文章 - Expire Google Drive Files 让Google 云端硬碟共用连结在指定时间后自动失效,文中介绍的Expire Google Drive Files可以让Google  Docs云盘共享连接在指定时间后自动失效解决了指定时间内权限失效的问题. —————————————————————————

iOS程序进入后台,延迟指定时间退出

程序进入后台,延迟指定时间退出 正常程序退出后,会在几秒内停止工作:要想申请更长的时间,需要用到beginBackgroundTaskWithExpirationHandlerendBackgroundTask一定要成对出现 {   NSTimer *_timer; int aa; __block UIBackgroundTaskIdentifier _backIden; } - (void)applicationDidEnterBackground:(UIApplication *)appli

PHP date 格式化一个本地时间/日期

PHP date 格式化一个本地时间/日期 date (PHP 4, PHP 5) date — 格式化一个本地时间/日期 说明 string date ( string $format [, int $timestamp ] ) 返回将整数 timestamp 按照给定的格式字串而产生的字符串.如果没有给出时间戳则使用本地当前时间.换句话说,timestamp 是可选的,默认值为 time(). Tip 自 PHP 5.1.1 起有几个有用的常量可用作标准的日期/时间格式来指定 format 

js计算当年还剩下多少时间或距离指定时间还有多少天算法原理

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con

js指定时间之后跳转到指定页面代码实例

js指定时间之后跳转到指定页面代码实例:在某些场景下,需要网页在指定的时间后,网页能够自动跳转到指定页面,比如在无法找到指定网页的情况下,就会显示之前设置好的404页面,并且跳转到指定的页面,下面就是一段代码实现了此效果.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="htt

分析VTL以及利用日志备份还原数据库到指定时间

本文原整理于2012-09 一备份链 USEMASTER; GO CREATEDATABASElogtest 运行如下语句 USElogtest go DBCCloginfo 图1-1 运行如下语句可以看到产生很多VTL USElogtest go SELECTTOP 10000 *INTOt1 FROMAdventureWorks.Sales.SalesOrderHeader DBCCloginfo 图1-2 运行如下语句可以看到日志被截断,标记为可重用状态(status=0) USElogt