NSDate

1 // 当前时间创建NSDate



        NSDate *myDate = [NSDate date];



        NSLog(@"myDate = %@",myDate);



2 //从现在开始的24小时



        NSTimeInterval secondsPerDay = 24*60*60;



        NSDate *tomorrow = [NSDate dateWithTimeIntervalSinceNow:secondsPerDay];



        NSLog(@"myDate = %@",tomorrow);



3//根据已有日期创建日期



         NSTimeInterval secondsPerDay1 = 24*60*60;



        NSDate *now = [NSDate date];



        NSDate *yesterDay = [now addTimeInterval:-secondsPerDay1];



        NSLog(@"yesterDay = %@",yesterDay);



 



 4//比较日期



        BOOL sameDate = [now isEqualToDate:yesterDay];



        NSLog(@"sameDate = %lu",sameDate);



        4.1//获取较早的日期



        NSDate *earlierDate = [yesterDay earlierDate:now];



        NSLog(@"earlierDate  = %@",earlierDate);



        4.2//较晚的日期



        NSDate *laterDate = [yesterDay laterDate:now];



        NSLog(@"laterDate  = %@",laterDate);



 



        //两个日期之间相隔多少秒



        NSTimeInterval secondsBetweenDates= [yesterDay timeIntervalSinceDate:now];



        NSLog(@"secondsBetweenDates=  %lf",secondsBetweenDates);



        //通过NSCALENDAR类来创建日期



        NSDateComponents *comp = [[NSDateComponentsalloc]init];



        [comp setMonth:06];



        [comp setDay:01];



        [comp setYear:2001];



        NSCalendar *myCal = [[NSCalendaralloc]initWithCalendarIdentifier:NSGregorianCalendar];



        NSDate *myDate1 = [myCal dateFromComponents:comp];



        NSLog(@"myDate1 = %@",myDate1);



 



        //从已有日期获取日期



        unsigned units  = NSMonthCalendarUnit|NSDayCalendarUnit|NSYearCalendarUnit;



        NSDateComponents *comp1 = [myCal components:units fromDate:now];



        NSInteger month = [comp1 month];



        NSInteger year = [comp1 year];



        NSInteger day = [comp1 day];



        //NSDateFormatter实现日期的输出



        NSDateFormatter *formatter = [[NSDateFormatteralloc]init];



        [formatter setDateStyle:NSDateFormatterFullStyle];//直接输出的话是机器码



        //或者是手动设置样式[formatter setDateFormat:@"yyyy-mm-dd"];



        NSString *string = [formatter stringFromDate:now];



        NSLog(@"string = %@",string);



        NSLog(@"formater = %@",formatter);



 



 



//获取日期格式对象



- (NSDateFormatter *)dateFormatter {



if (dateFormatter == nil) {



dateFormatter = [[NSDateFormatter alloc] init];



[dateFormatter setDateStyle:NSDateFormatterMediumStyle];



[dateFormatter setTimeStyle:NSDateFormatterNoStyle];



}



return dateFormatter;



}
NSDate和NSString的转换



用于uidate,picker。。



+(NSDate*) convertDateFromString:(NSString*)uiDate

{

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;

    [formatter setDateFormat:@"yyyy年MM月dd日"];

    NSDate *date=[formatter dateFromString:uiDate];

    return date;

}



 



输入的日期字符串形如:@"1992-05-21 13:08:08"



- (NSDate *)dateFromString:(NSString *)dateString{



NSDateFormatter *dateFormatter = [[NSDateFormatteralloc] init];



[dateFormatter setDateFormat: @"yyyy-MM-dd HH:mm:ss"]; 





 



NSDate *destDate= [dateFormatter dateFromString:dateString];



 



 



[dateFormatter release];



return destDate;



}



 



- (NSString *)stringFromDate:(NSDate *)date{



NSDateFormatter *dateFormatter = [[NSDateFormatteralloc] init]; 



 



//zzz表示时区,zzz可以删除,这样返回的日期字符将不包含时区信息。



[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];



 



NSString *destDateString = [dateFormatter stringFromDate:date];



 



 



[dateFormatter release];



return destDateString;



}



 



- (IBAction)handleDidPressBtn1{



NSLog(@"%@/n", [selfdateFromString:@"2011-08-09 12:02:01"]);



NSLog(@"%@/n", [selfstringFromDate:[selfdateFromString:@"2011-08-09 12:02:01"]]);



}



 



 



输出结果如下:



 



2011-08-09 04:02:01 +0000



2011-08-09 12:02:01 GMT+08:00

 

你可能感兴趣的:(NSDate)