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;
}

 

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

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

    [formatter setDateFormat:@"yyyy-MM-dd HH:MM:SS"];

    NSString *dataTime = [formatter stringFromDate:date];

    return dataTime;

}

//判定是昨天,今天,明天

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

 

    NSTimeInterval secondsPerDay = 24 * 60 * 60;

    NSDate *today = [[NSDate alloc] init];

    NSDate *tomorrow, *yesterday;

 

    tomorrow = [today dateByAddingTimeInterval: secondsPerDay];

    yesterday = [today dateByAddingTimeInterval: -secondsPerDay];

 

// 10 first characters of description is the calendar date:

    NSString * todayString = [[today description] substringToIndex:10];

    NSString * yesterdayString = [[yesterday description] substringToIndex:10];

    NSString * tomorrowString = [[tomorrow description] substringToIndex:10];

 

    NSString * dateString = [[date description] substringToIndex:10];

 

    if ([dateString isEqualToString:todayString])

    {

        return @"今天";

    } else if ([dateString isEqualToString:yesterdayString])

    {

        return @"昨天";

    }else if ([dateString isEqualToString:tomorrowString])

    {

        return @"明天";

    }

    else

    {

        return dateString;

    }

}

 

输入的日期字符串形如:@"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

posted @ 2016-05-18 13:01  nenhallwu  阅读(267)  评论(0编辑  收藏  举报