`
kingj
  • 浏览: 426363 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

NSDate的使用

 
阅读更多

NSDate 
 
//得到当前的日期 
NSDate *date = [NSDate date]; 
NSLog(@"date:%@",date); 
 
//得到(24 * 60 * 60)即24小时之前的日期,dateWithTimeIntervalSinceNow: 
NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow: -(24 * 60 * 60)]; 
NSLog(@"yesterday:%@",yesterday); 
 
NSDateFormatter *formatter =[[[NSDateFormatter alloc] init] autorelease]; 
NSDate *date = [NSDate date]; 
[formatter setTimeStyle:NSDateFormatterMediumStyle]; 
NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease]; 
NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease]; 
NSInteger unitFlags = NSYearCalendarUnit | 
NSMonthCalendarUnit | 
NSDayCalendarUnit | 
NSWeekdayCalendarUnit | 
NSHourCalendarUnit | 
NSMinuteCalendarUnit | 
NSSecondCalendarUnit; 
//int week=0; 
comps = [calendar components:unitFlags fromDate:date]; 
int week = [comps weekday]; 
int year=[comps year]; 
int month = [comps month]; 
int day = [comps day]; 
//[formatter setDateStyle:NSDateFormatterMediumStyle]; 
//This sets the label with the updated time. 
int hour = [comps hour]; 
int min = [comps minute]; 
int sec = [comps second]; 
NSLog(@"week%d",week); 
NSLog(@"year%d",year); 
NSLog(@"month%d",month); 
NSLog(@"day%d",day); 
NSLog(@"hour%d",hour); 
NSLog(@"min%d",min); 
NSLog(@"sec%d",sec); 
 
//得到毫秒 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateStyle:NSDateFormatterMediumStyle]; 
[dateFormatter setTimeStyle:NSDateFormatterShortStyle]; 
//[dateFormatter setDateFormat:@"hh:mm:ss"] 
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"]; 
NSLog(@"Date%@", [dateFormatter stringFromDate:[NSDate date]]); 
[dateFormatter release]; 
 
========================================== 
方法一 
 
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

//得到当前的日期 www.2cto.com
NSDate *date = [NSDate date];
NSLog(@"date:%@",date);

//得到(24 * 60 * 60)即24小时之前的日期,dateWithTimeIntervalSinceNow:
NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow: -(24 * 60 * 60)];
NSLog(@"yesterday:%@",yesterday);

NSDateFormatter *formatter =[[[NSDateFormatter alloc] init] autorelease];
NSDate *date = [NSDate date];
[formatter setTimeStyle:NSDateFormatterMediumStyle];
NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease];
NSInteger unitFlags = NSYearCalendarUnit |
NSMonthCalendarUnit |
NSDayCalendarUnit |
NSWeekdayCalendarUnit |
NSHourCalendarUnit |
NSMinuteCalendarUnit |
NSSecondCalendarUnit;
//int week=0;
comps = [calendar components:unitFlags fromDate:date];
int week = [comps weekday];
int year=[comps year];
int month = [comps month];
int day = [comps day];
//[formatter setDateStyle:NSDateFormatterMediumStyle];
//This sets the label with the updated time.
int hour = [comps hour];
int min = [comps minute];
int sec = [comps second];
NSLog(@"week%d",week);
NSLog(@"year%d",year);
NSLog(@"month%d",month);
NSLog(@"day%d",day);
NSLog(@"hour%d",hour);
NSLog(@"min%d",min);
NSLog(@"sec%d",sec);

//得到毫秒
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];
//[dateFormatter setDateFormat:@"hh:mm:ss"]
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"];
NSLog(@"Date%@", [dateFormatter stringFromDate:[NSDate date]]);
[dateFormatter release];

==========================================
方法一

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

    - `NSDate`可以与其他`NSDate`对象配合使用`NSCalendar`来创建日期区间,如日、周、月。 ```objc NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:...

    TaskIt:TableView 的完整示例,包括 TableView 单元格上的标题自定义和滑动功能、NSDate 使用、刷新或关闭 ViewController、使用闭包或嵌入功能进行排序

    任务它NSDate 创建和格式创建通过调用NSDateComponents构造一个具有当前日期的 NSDate 组件通过调用NSCalendar获取当前日历使用当前日历的方法dateFromComponents 将NSDate 组件更改为 NSDate 格式通过调用...

    iOS NSdate 时间转换

    在iOS开发中,`NSDate`是苹果提供的一个核心类,用于表示特定的日期和时间。在实际应用中,我们经常需要将`NSDate`对象转换为用户友好的字符串格式,或者相反,将字符串解析成`NSDate`对象。这个过程通常涉及到`...

    NSDate转换农历

    2. **扩展`NSDate`类别**:为了方便使用,库可能会扩展`NSDate`类别,添加新的方法,如`- (NSDate *)convertToLunarDate`,以便直接在现有的`NSDate`对象上调用。 3. **自定义`NSCalendar`子类**:有时,库可能会...

    Swift-NSDate-Extensions.zip

    Swift-NSDate-Extensions 是 Swift NSDate 扩展,帮助开发。 标签:Swift

    swift-NSDate总结NSDateFormatter总结

    在Swift编程语言中,`NSDate`是用于表示时间点的核心类,它代表了自历元(参考日期)以来的特定瞬间。`NSDateFormatter`则用于将`NSDate`对象转换为可读的字符串格式,或者从用户输入的字符串解析出`NSDate`对象。`...

    NSDate扩展

    在iOS开发中,`NSDate`是苹果提供的一个核心类,用于表示日期和时间。它是一个不可变对象,意味着一旦创建,其值就不会改变。...在使用这些扩展时,确保充分测试,以确保它们在各种情况下的正确性。

    NSDate时间

    在实际开发中,`NSDate`常常与`NSDateFormatter`、`NSTimeInterval`、`NSCalendar`和`NSTimeZone`一起使用,以满足各种日期和时间的处理需求。理解并熟练掌握这些知识点对于编写高效、功能完善的iOS和macOS应用至关...

    NSDate分类,获得对应中国农历

    为了给用户提供更加贴近生活的体验,开发者需要将公历日期(NSDate)转换为农历日期。本篇将详细介绍如何通过扩展NSDate分类来实现这个功能。 首先,我们需要了解iOS中处理日期的基本类——NSDate、NSCalendar、...

    iOS时间戳字符串NSDate转化demo.zip

    将时间戳转换为NSDate,可以使用`-[NSDate initWithTimeIntervalSince1970:]`方法。例如: ```objc NSTimeInterval timestamp = [NSDate timeIntervalSince1970]; NSDate *date = [NSDate ...

    iOS NSDate资料

    本文将详细介绍`NSDate`类的常用功能及其使用方法。 #### 二、创建和初始化`NSDate`对象 ##### 1. 创建`NSDate`实例 通过`NSDate`提供的类方法可以轻松地创建出不同类型的日期对象。 - `+ (id)date;`:创建一个...

    swift-DateHelper-NSDate在Swift中的便利扩展

    为了简化这些操作,开发者常常会创建一个便利扩展,例如"swift-DateHelper-NSDate在Swift中的便利扩展"项目,它为`NSDate`(Objective-C的日期表示类)提供了额外的方法,以便在Swift中更方便地使用。 DateHelper...

    使用 Swift 编写的 NSDate 扩展 iOS

    `AFDateHelper`包含了判断两个日期是否相等、哪个日期更早或更晚的函数,如`isEqualToDate(date1: NSDate, date2: NSDate)`、`isBeforeDate(date: NSDate)`和`isAfterDate(date: NSDate)`。 此外,时间间隔的计算也...

    NSDate,iphone显示时间,日期的方法集合

    在iOS开发中,`NSDate`类是Objective-C中用于处理日期和时间的核心组件。它代表一个绝对时间点,与特定时区无关...在iPhone应用中,正确地显示和处理日期是提升用户体验的重要环节,因此开发者需要熟悉这些工具的使用。

    iphone 开发学习基础NSDate

    object-c基础语法NSDate, 适合初学者,主要学习NSDate的设置、获取当前时间、当前时间加减秒后的时间、日期比较、日期转换成NSString等

    NSDate-RFC1123:NSDate + RFC1123 Swift实现

    在Swift编程语言中,处理时间通常涉及到与网络通信和数据交换相关的任务,特别是在构建Web服务或客户端应用...在实际使用时,确保遵循Swift的命名规范和导入`Foundation`框架,以便使用`NSDate`和`DateFormatter`等类。

    iOS将时间NSDate转化为毫秒时间戳的方法示例

    此外,我们还可以使用CATEGORY来扩展NSDate类,以便更方便地将毫秒时间戳转换回NSDate类型。下面是一个示例代码: ```objective-c + (NSDate *)getLocateTime:(unsigned int)timeStamp { double dTimeStamp = ...

    NSDate-DaboExtension:NSDate分类

    - **日期格式化**:可能提供了更便捷的方式来将`NSDate`对象转换为字符串,或者将字符串解析为`NSDate`,这通常比使用`NSDateFormatter`更加简单。 - **时间比较**:可能有方法用于快速比较两个日期的先后顺序,比如...

    AFSwiftDateExtension:Swift 中对 NSDate 的扩展,让生活更轻松

    NSDate扩充功能,可更容易操作NSDate ,它建立在SWIFT的顶部功能提供最好的体验和安全性。特征使用常用比较运算符比较日期: >, >=, <, <= 使用该自定义运算符获取日期之间的间隔>-< 使用算术运算符添加/...

    NSDate相关方法

    一系列关于Date的小方法,包括NSDate和NSString的互相转换,大家自己看看每个方法的说明吧!

Global site tag (gtag.js) - Google Analytics