NSDate和NSString的转换及判定是昨天,今天,明天
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于NSDate和NSString的转换及判定是昨天,今天,明天的主要内容,如果未能解决你的问题,请参考以下文章