NSDate只能强转24,不能强转12小时

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

你可能感兴趣的:(NSDate只能强转24,不能强转12小时)