1、创建一个时间对象
NSData * date = [NSDate date];//获取当前的时间
//再获取的时间date减去24小时的时间(昨天的这个时候)
NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-(24*60*60)];
2、将时间按一定的格式输出
NSData * date = [NSDate date];
NSDateFormatter * formatter = [[NSDateFormatter alloc]init];
//指定输出的格式 这里格式必须是和上面定义字符串的格式相同,否则输出空
[formatter setDateFormat:@"yyyy-MM-dd"];
NSString *timeString= [formatter stringFromDate:data];
/*
NSDateFormatter 的一些格式介绍
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //这里要注意的是formatter的格式,如果是小写的"hh",那么时间将会跟着系统设置变成12小时或者24小时制。大写的"HH",则强制为24小时制。
[dateFormatter setDateFormat:@"yyyy年MM月dd日#EEEE"];EEEE为星期几,EEE为周几
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[dateFormatter setDateFormat:@"yyyy年MMMMd日"];//MMMM 为xx月,一个d可以省去01日前的0
*/
3、 将一时间字符串换成Date对象,和把NData转换成string对象
NSDateFormatter配合NSDate与NSString之间的转化 NSDateFormatter有下面2个方法:
- (NSString *)stringFromDate:(NSDate *)date;//NSDate转NSString
- (NSDate *)dateFromString:(NSString *)string;//NSString转NSDate
NSString *datestring = [NSString stringWithFormat:@"1999-09-03"];
//想要设置自己想要的格式,可以用nsdateformatter这个类,这里是初始化
NSDateFormatter * formatter = [[NSDateFormatter alloc]init];
//指定输出的格式 这里格式必须是和上面定义字符串的格式相同,否则输出空
[formatter setDateFormat:@"yyyy-MM-dd"];
NSDate *newdate=[formatter dateFromString:datestring];
把字符串的时间转换成Date对象,用dateFromString方法
NSDate * newdate = [formatter dateFromString:datestring];
// 把时间转换成字符串,把Date对象转换成String对象 用stringFromDate方法 NSString * datestring2 = [formatter stringFromDate:newdate]; 4、将本地时间转换成指定时区的时间
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"]; //东八区时间
[formatter setTimeZone:timeZone];
NSString *loctime = [formatter stringFromDate:date];
[formatter release];
现在loctime就是指定时区的时间字符串了
5、将时间戳 转变为标准时间
NSTimeInterval time=[timestamp doubleValue]; // timetamp为 “时间戳”字符串
NSDate *detaildate=[NSDate dateWithTimeIntervalSince1970:time];
NSLog(@"date:%@",[detaildate description]);
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[dateFormatter setLocale:[NSLocale currentLocale]];
NSString *timeString = [dateFormatter stringFromDate:detaildate];