计算给定时间与现在的时间差
2016-07-04 17:32
239 查看
- (void)timerFireMethod:(NSTimer *)timer
{
NSCalendar *calendar = [NSCalendar
currentCalendar];
// 目标时间
NSDateFormatter *dateFormatter = [[NSDateFormatter
alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *fireDate = [dateFormatter
dateFromString:self.endtime];
NSDate *today = [NSDate
date];//当前时间
unsigned
int unitFlags = NSCalendarUnitDay |
NSHourCalendarUnit | NSMinuteCalendarUnit |
NSSecondCalendarUnit;
NSDateComponents *d = [calendar
components:unitFlags fromDate:today
toDate:fireDate options:0];//计算时间差
NSString *day = [d
day] > 0 ? [NSString
stringWithFormat:@"%zd天", [d
day]] : @"";
NSString *hour = [d
hour] > 0 ? [NSString
stringWithFormat:@"%zd小时", [d
hour]] : @"";
NSString *minute = [d
minute] > 0 ? [NSString
stringWithFormat:@"%zd分", [d
minute]] : @"";
NSString *second = [d
second] > 0 ? [NSString
stringWithFormat:@"%zd秒", [d
second]] : @"";
self.calendar.text = [NSString
stringWithFormat:@"%@%@%@%@后截止", day, hour, minute, second];//倒计时显示
if([d
day]<0 || [d
hour]<0 || [d
minute]<0 || [d
second]<0) {
self.calendar.text =
@"已结束";
}
}
{
NSCalendar *calendar = [NSCalendar
currentCalendar];
// 目标时间
NSDateFormatter *dateFormatter = [[NSDateFormatter
alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *fireDate = [dateFormatter
dateFromString:self.endtime];
NSDate *today = [NSDate
date];//当前时间
unsigned
int unitFlags = NSCalendarUnitDay |
NSHourCalendarUnit | NSMinuteCalendarUnit |
NSSecondCalendarUnit;
NSDateComponents *d = [calendar
components:unitFlags fromDate:today
toDate:fireDate options:0];//计算时间差
NSString *day = [d
day] > 0 ? [NSString
stringWithFormat:@"%zd天", [d
day]] : @"";
NSString *hour = [d
hour] > 0 ? [NSString
stringWithFormat:@"%zd小时", [d
hour]] : @"";
NSString *minute = [d
minute] > 0 ? [NSString
stringWithFormat:@"%zd分", [d
minute]] : @"";
NSString *second = [d
second] > 0 ? [NSString
stringWithFormat:@"%zd秒", [d
second]] : @"";
self.calendar.text = [NSString
stringWithFormat:@"%@%@%@%@后截止", day, hour, minute, second];//倒计时显示
if([d
day]<0 || [d
hour]<0 || [d
minute]<0 || [d
second]<0) {
self.calendar.text =
@"已结束";
}
}
相关文章推荐
- AndroidStudio设置“自动导入包”
- Solr单机部署和集群部署
- c# listView
- 进程间通信(一)—管道
- UIButton和UILabel的宽与高
- 刷题之二叉树----判断一棵树是否为完全二叉树
- tomcat .do发布是虚拟目录无法访问
- Java设计模式(1)单例模式
- 数据处理---Spring Batch之实践
- Spring事务失效的原因
- 原生下拉刷新SwipeRefreshLayout的使用
- Ionic JPush极光推送 插件实例
- WCF推送
- Jquery遍历数组之$.inArray()方法介绍
- 如何判断程序是否重复运行的几种方法
- C++ 根据扩展名获取文件图标、类型
- MFC改变编辑框背景、字体、颜色等
- Node.js: managing child processes
- 深入理解JVM内幕
- Volley源码解析(三)——图片加载