iOS时间处理

// 剩余时间处理
    // 当前时间 2014-08-27 09:06
    NSDate *now = [NSDate date];
    // 过期时间 2014-08-28 00:00
    NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
    fmt.dateFormat = @"yyyy-MM-dd";
    NSDate *deadTime = [[fmt dateFromString:self.deal.purchase_deadline] dateByAddingTimeInterval:24 * 3600];
    // 比较2个时间的差距
    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSCalendarUnit unit = NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute;
    NSDateComponents *cmps = [calendar components:unit fromDate:now toDate:deadTime options:0];
    if (cmps.day > 365) {
        self.leftTimeButton.title = @"一年内不过期";
    } else {
        self.leftTimeButton.title = [NSString stringWithFormat:@"%d天%d小时%d分", cmps.day, cmps.hour, cmps.minute];
    }

时间: 2024-10-07 17:12:37

iOS时间处理的相关文章

iOS时间问题

iOS时间问题 在iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等.解决办法网上比比皆是,但大多零零散散,很多资料并没有说明其中问题.这里集中总结一下,以便于以后查阅和供大家参考.有我自己的理解,错漏之处请大家吐槽. NSDate的8小时问题 NSDate转字符串时间 初始化一个NSDate时间[NSDate date],获取的是零时区的时间(格林尼治的时间: 年-月-日 时:分:秒: +时区),而北京时间是东八区时间,因为时区不同,所以打印的时间相差了8小时

iOS时间格式化的方法

**iOS时间格式化方法** //时间转换方法 //    long nowT = time(NULL);  获取当前时间 - (NSString *)revertTimeFormat:(long)timesp{     NSDate *data = [NSDate dateWithTimeIntervalSince1970:timesp];//获得data          NSDateFormatter* formatter = [[NSDateFormatter alloc] init];

iOS 时间校准解决方案

背景 在 iOS 开发中,凡是用到系统时间的,都要考虑一个问题:对时.有些业务是无需对时,或可以以用户时间为准的,比如动画用到的时间.一些日程类应用等.但电商相关的业务大都不能直接使用设备上的时间,而是需要跟服务器校准后的时间,例如: 区间判断:一些优惠促销活动需要在 app 端判断当前是否在活动期间内.如果用户设备时间不准,会给用户错误的信息,导致投诉. 倒计时:各种秒杀.限时促销.未支付订单的失效等的倒计时.如果用户设备时间不准,会带来倒计时结束后刷新页面,状态没变化的问题.可以测试一下电商

iOS时间格式的转换

在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理. 例如: //实例化一个NSDateFormatter对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //设定时间格式,这里可以设置成自己需要的格式 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //用[NSDate d

iOS 时间的处理

做App避免不了要和时间打交道,关于时间的处理,里面有不少门道,远不是一行API调用,获取当前系统时间这么简单.我们需要了解与时间相关的各种API之间的差别,再因场景而异去设计相应的机制. 时间的形式 在开始深入讨论之前,我们需要确信一个前提:时间是线性的.即任意一个时刻,这个地球上只有一个绝对时间值存在,只不过因为时区或者文化的差异,处于同一时空的我们对同一时间的表述或者理解不同.这个看似简单明了的道理,是我们理解各种与时间相关的复杂概念的基石.就像UTF-8和UTF-16其实都是Unicod

iOS 时间处理(转)

NSDate NSDate对象用来表示一个具体的时间点. NSDate是一个类簇,我们所使用的NSDate对象,都是NSDate的私有子类的实体. NSDate存储的是GMT时间,使用的时候会根据 当前应用 指定的 时区 进行时间上的增减,以供计算或显示. 可以快速地获取的时间点有: now (当前时间点) 相对于1 January 2001, GMT的时间点 相对于1970的时间点 distantFuture (不可达到的未来的某个时间点) distantPast (不可达到的过去的某个时间点

iOS时间轴的实现

最近项目需求,恰好要做一个时间轴,而iOS这方面时间轴的例子也比较少,我就把自己所做的例子和思路共享出来给大家,共同学习. 时间轴的具体实现效果如图1所示:  图1 第一步:看到这个图,我们想到的第一反应就是使用tableView或者CollectionView来完成,那么我这里使用的是tableView.首先,创建一个Single View Application项目,在Main.Storyboard里面拖入一个TableView(如图2所示),这里别忘记了把TableView的delegat

iOS时间格式说明

在iOS时间戳字符串NSdate转换demo中我们讲到了 - (IBAction)strToDate:(id)sender { NSString *timeStr = @"2015-07-15 15:00:00"; NSDate *date = [NSDate dateFromString:timeStr format:@"yyyy-MM-dd HH:mm:ss"]; NSLog(@"字符串转NSDate:%@ -> %@",timeStr

IOS 时间字符串转换时间戳失败问题

链接:https://pan.baidu.com/s/1nw6VWoD 密码:1peh 有时候获取到的时间带有毫秒数或者是(2018-2-6 11:11:11)格式的(别说你没遇到过,也别什么都让后台转好给你,程序员就是在长跑,短时间内看不出什么,但一年两年后,有的人成了大神,有的人却还是只会切图),这样的字符串在ie11和IOS系统上jquery的getTime()无法将其转为时间戳(谷歌,安卓(华为)可以). 本宝宝致力于高版本IE网站,和移动端H5网页小游戏(比如答题游戏,大转盘等等)开发

iOS时间出现NaN

在封装时间工具时,通常时将一个时间扔入new Date()里面,然后再进行数据处理. 时间格式有多种,其中常见的:1.2019/04/11       2.2019-02-11 但是,在iOS环境下,2019-02-11的格式就出错了,原因时该环境不支持横杠的处理(买不起苹果,就不范围测试了,如果遇到了,就纳入考虑范围吧) 原文地址:https://www.cnblogs.com/baimulan/p/10690228.html