原文: http://blog.csdn.net/JHorn/archive/2009/09/27/4602491.aspx
方法一
NSDate* toDate1 = [ [ NSDate alloc] initWithString:@"2520-9-26 17:10:00 +0600" ];
NSTimeInterval distance = [ toDate1 timeIntervalSinceNow ];
NSTimeInterval iDat = distance / ( 86400 ) ;
NSLog( @" From now to %@ diff: %f ", [toDate1 description ], iDat );
[ toDate1 release ];
方法二
NSDate* toDate = [ [ NSDate alloc] initWithString:@"2009-9-29 0:0:00 +0600" ];
NSDate* startDate = [ [ NSDate alloc] init ];
NSCalendar* chineseClendar = [ [ NSCalendar alloc ] initWithCalendarIdentifier:NSGregorianCalendar ];
NSUInteger unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit |
NSSecondCalendarUnit | NSDayCalendarUnit
| NSMonthCalendarUnit | NSYearCalendarUnit;
NSDateComponents *cps = [ chineseClendar components:unitFlags fromDate:startDate toDate:toDate options:0];
NSInteger diffHour = [ cps hour ];
NSInteger diffMin = [ cps minute ];
NSInteger diffSec = [ cps second ];
NSInteger diffDay = [ cps day ];
NSInteger diffMon = [ cps month ];
NSInteger diffYear = [ cps year ];
NSLog( @" From Now to %@, diff: Years: %d Months: %d, Days; %d, Hours: %d, Mins:%d, sec:%d",
[toDate description], diffYear, diffMon, diffDay, diffHour, diffMin,diffSec );
[ toDate release ];
[ startDate release ];
[ chineseClendar release ];
分享到:
相关推荐
总结起来,`NSDate`是iOS和macOS开发中处理日期和时间的核心类,提供了丰富的API用于创建、比较、格式化日期以及获取时间组件。结合`NSDateFormatter`和`NSCalendar`,开发者可以方便地进行日期的转换和计算,满足...
总结起来,iOS开发中处理时间间隔和计算距离当前的天数主要依赖于NSDate、NSCalendar和NSDateComponents。通过这些工具,开发者可以轻松地进行日期和时间的比较、转换和计算,从而满足各种应用程序的需求。无论是在...
开发者可以使用`NSCalendar`将`NSDate`分解成`NSDateComponents`,或者反之,从`NSDateComponents`构建一个新的`NSDate`。 在标签中提到的“日历”是`NSCalendar`的主要功能,它支持多种日历系统,如公历(格里高利...
首先,我们需要了解iOS中处理日期的基本类——NSDate、NSCalendar、NSDateComponents等。NSDate是苹果提供的一个抽象类,代表了绝对时间,而NSCalendar则用于处理日历相关的计算,如日期的加减、比较等。...
你可以通过`NSCalendar`和`NSDateComponents`来获取或设置具体的日期和时间元素。 `NSDateFormatter`是用于格式化和解析日期的重要工具。它可以设置日期和时间的显示样式,如“yyyy-MM-dd HH:mm:ss”或者“MM/dd/...
`NSCalendar`可以将`NSDate`对象分解成`NSDateComponents`,或者根据`NSDateComponents`创建新的`NSDate`。 4. **日期转换**:`NSCalendar`提供了`dateFromComponents:`方法,用于将`NSDateComponents`转换为`...
同时,如果你需要处理的时间戳包含毫秒信息,那么可以使用`NSCalendar`和`NSDateComponents`来精确转换。 总的来说,"iOS时间戳字符串NSDate转化demo"这个项目涵盖了iOS开发中日期处理的基础,通过学习和实践,...
4. 可能涉及到日期和时间的处理,如NSCalendar、NSDate、NSDateComponents和NSDateFormatter的使用。 对于初学者来说,这是一个很好的学习资源,可以帮助理解如何使用和封装系统组件,同时提升代码的可维护性和复用...
- 创建 `NSDateComponents` 对象,设置日、月、年等属性,然后使用 `NSCalendar` 创建对应的 `NSDate` 对象。 - `[NSCalendar currentCalendar]`:获取当前系统的日历实例。 8. **创建指定日期的 `NSDate`** ...
这涉及到对日期和时间对象的处理,通常我们会使用Objective-C中的`NSDate`类及其相关的方法。在这个场景下,`NSDate`可以帮助我们获取当前时间,而通过设置时间范围,我们可以比较并判断当前时间是否位于该范围内。 ...
苹果的Foundation框架提供了NSDate、NSCalendar和NSDateComponents等类来处理日期和时间。在创建自定义时间选择器时,我们将用到这些类来存储和处理用户的选取。 1. **创建UI界面**:在Xcode中,我们通常使用...
在iOS中,我们主要使用Foundation框架中的`NSDate`、`NSCalendar`、`NSDateComponents`和`NSDateFormatter`类来处理日期和时间。`NSDate`是表示绝对时间的类,它代表的是自纪元以来的秒数。而`NSCalendar`用于定义...
在iOS开发中,苹果提供了强大的Foundation框架,其中包含了许多用于处理日期和时间的类,如NSDate、NSCalendar、NSDateComponents等。"iPhone 日期类"主要指的就是这些类及其相关功能,它们允许开发者轻松地获取、...
可以使用`NSCalendar`和`NSDateComponents`来分解时间差。 3. **定时器(Timer)的使用** - **NSTimer**: iOS中,可以使用`NSTimer`创建一个周期性的任务,每隔一定时间就执行一次更新倒计时的函数。记得在不再...
1. **日历框架(NSCalendar)**:在iOS中,我们通常使用`NSCalendar`类来处理与日期和时间相关的任务。`NSCalendar`遵循了`NSCopying`和`NSMutableCopying`协议,可以创建并定制特定的日历系统,如公历、伊斯兰历等...
首先,我们要了解在iOS中处理日期和时间的基本类:NSDate、NSCalendar、NSDateComponents和NSDateFormatter。NSDate对象代表一个特定的日期和时间,而NSCalendar用于处理日历相关的计算,如日期间隔、比较和转换。...
在iOS中,我们可以使用Foundation框架中的NSCalendar、NSDateComponents和NSDate类来实现这一功能。首先,我们需要将用户选择的生日日期和当前日期都转换成NSDate对象,然后通过NSCalendar进行比较,提取出两个日期...
在这个过程中,我们可能还需要使用到`NSCalendar`、`NSDateComponents`以及`NSComparisonResult`来比较日期,判断时间间隔,获取星期等信息。`NSCalendar`可以用来执行日历计算,`NSDateComponents`用于提取日期的...
9. **日期组件**:获取日期中的年、月、日、小时、分钟等部分,例如`- (NSDateComponents *)componentsWithCalendar:(NSCalendar *)calendar`。 10. **时间间隔格式化**:将时间间隔转换成易读的格式,如“2分钟前...
首先,我们要了解iOS中处理日期和时间的核心组件:`NSCalendar`, `NSDate`, `NSDateComponents` 和 `UIDatePicker`。`NSCalendar` 是一个抽象的日历模型,它定义了日期和时间的计算规则。`NSDate` 表示一个时间点,`...