NSDate
NSDate 在iOS中NSDate是有关日期操作的核心,一个NSDate代表了一个单独的时间点。在其他类中有关时间的接口一般都是使用这个类。NSDate中提供的方法包括日起对象的创建、比较以及与NSTimeInterval的相互转化
官方网站:
作用:
- 与NTimeInterval之间相互转化
- 一个NSDate对象通过增加或减少interval来生成一个新的NSDate对象
- NSDate与NSDate对象之间的比较
- 以1970或now问参照,获取一个NTimeInterval对象,基本单位是秒
/* NSDate使用示例 */ - (void)dateMethod{ NSDate *date ; // 五种初始化的方式 // date = [NSDate date]; //NSTimeInterval表示时间间隔,是一个double类型=,基本单位是秒 // date = [NSDate dateWithTimeIntervalSince1970:1000]; // date = [NSDate dateWithTimeIntervalSinceNow:3600]; //从现在开始的时间间隔 // date = [NSDate dateWithTimeIntervalSinceReferenceDate:3600]; //2001年开始 date = [NSDate dateWithTimeInterval:3600 sinceDate:[NSDate date]]; NSLog(@"%@",date); // 2013-07-19 06:53:57 +0000 //date比较 NSDate *date1 = [NSDate dateWithTimeInterval:3600 sinceDate:date]; // 比较两个日期哪个大 NSComparisonResult result = [date compare:date1]; if(result == NSOrderedAscending){ NSLog(@"> earlier"); }else if(result == NSOrderedSame){ NSLog(@"=="); }else if(result == NSOrderedDescending){ NSLog(@"< later"); } // 通过比较,返回一个更早的或更晚的date // NSDate *tDate = [date earlierDate:date1]; NSDate *tDate = [date laterDate:date1]; NSLog(@"%@",tDate); // 更具当前date和时间间隔生成的得到一个新的date对象 NSDate *newDate = [date dateByAddingTimeInterval:3600]; NSLog(@"newDate:%@", newDate); // date转化成一个时间段,基本参考点是1970,2001(ReferenceDate),Now,或者是制定一个date NSTimeInterval interval = [date timeIntervalSinceReferenceDate]; NSLog(@"interval:%f", interval); }
NSDateFormatter
官方介绍:
作用:
- 通过一个NSString对象来创建一个NSDate对象;
- 具体的字符串规则详见:http://blog.sina.com.cn/s/blog_6f9a9718010121w3.html
NSTimeZone
NSCalendar
http://www.cnblogs.com/wujian1360/archive/2011/09/05/2168007.html
NSDateComponents 是NSCalendar的内部类,
时间的计算:
对于时间分为 本地挂钟时间 和 UTC时间,所谓的UTC时间就是指表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数 ,毫无疑问这个时间所有计算机都是一样的。那么我们任务栏上的时间是怎么回事呢?那是OS会把计算机所在的当前时区加上,如:中国在东八区,就会在UTC时间上加上 8(小时)*60*60*1000作为本地挂钟时间(不考虑夏令时)。
UTC与GMT区别:
UTC = Coordinated Universal Time. 中文名称为协调世界时.
GMT = Greenwich Mean Time. 中文名称为格林尼治(平)时(这里的"w"是不发音的,而且"Green"要读成"Gren")
UTC = GMT +/- 0.9 s
结论:UTC与GMT可以换用,UTC 间中需要进行 "闰秒" 以控制两者相差。
相关推荐
首先,我们需要了解iOS中处理日期的基本类——NSDate、NSCalendar、NSDateComponents等。NSDate是苹果提供的一个抽象类,代表了绝对时间,而NSCalendar则用于处理日历相关的计算,如日期的加减、比较等。...
1. **日期与时间处理**:首先,我们需要使用`NSDate`类来获取当前系统时间,然后通过`NSCalendar`、`NSDateComponents`等类进行日期和时间的转换。这些基础操作是所有时间显示的基础。 2. **自定义UIView**:创建一...
- 应用可能会使用Foundation框架中的NSDate、NSCalendar、NSTimeInterval等类来处理和显示日期及时间。 8. **通知与提醒**: - 考虑到这是一个时间管理应用,可能会使用UNUserNotificationCenter来设置本地通知,...
5. **日期和时间处理**:iOS中的NSDate、NSCalendar、NSDateComponents等类用于处理日期和时间。例如,可以使用NSCalendar的`components(_:from:)`方法来从日期中提取年、月、日等信息。 6. **通知和提醒**:如果...
在iOS中,这通常通过Core Foundation框架中的日期和时间API来实现,如CFDate、NSDate、NSCalendar和NSTimeInterval等。 在源码中,我们可以期待找到以下关键功能: 1. **时间戳转换**:将Unix时间戳或者NSDate对象...
1. **计算节气**:阴历与节气紧密相关,如立春、惊蛰等。根据天文数据,可以预先计算出每年的节气日期。 2. **确定年份**:根据公历日期,计算出对应的农历年。这涉及到闰年的判断和农历月份的转换。 3. **计算...
4. **日期和时间处理**:为了获取当前时间并根据时间更新时钟显示,需要使用Foundation框架中的NSDate、NSCalendar、NSTimeZone等类。这些类可以帮助开发者处理日期和时间的转换。 5. **动画**:为了使指针旋转看...
- 日期与时间:使用NSDate、NSCalendar、NSTimeInterval等处理日期和时间。 - 错误处理:理解NSError对象及其在异常情况下的应用。 4. iOS开发实战: - 视图与控制器:学习UIView、UIViewController及其子类的...
在iOS中,开发者通常使用NSDate、NSTimer和NSCalendar等类来处理时间。学习这个项目的源码,我们可以了解到如何实现计时器功能,以及如何将时间显示给用户。 5. **iDrum**: "i"前缀通常代表iOS设备,而"Drum"指鼓,...
1. **日期计算**:需要对日期进行增减、比较等操作,这通常会用到NSDate和NSCalendar类。 2. **视图渲染**:日历的界面展示,可能涉及到自定义UICollectionViewCell,以展示每一天的日期和事件。 3. **手势处理**:...
6. **Date and Time Handling**:处理日期和时间的Objective-C类,如NSDate、NSCalendar、NSTimeZone,用于创建、比较和格式化时间。 7. **Storyboard和Auto Layout**:通过Storyboard进行界面布局,并使用Auto ...
4. 时间周期计算:为了正确地渲染每一天,开发者需要熟悉NSDate和NSCalendar类,以及它们提供的日期操作方法,如日期比较、获取某日期的星期几等。 5. 自定义样式:高度自定义的日历意味着开发者需要控制单元格的...