objective-c   获取时间的方法

来源:互联网 发布:网络调教女m的任务详细 编辑:程序博客网 时间:2024/05/16 06:48
//获取默认时区的时间字符串 
   NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; 
    [formattersetDateFormat:@"yyyy-MM-ddHH:mm:ss"]; 
    NSString*nowStr = [formatter stringFromDate:[NSDatedate]]; 
    NSLog(@"nowtime without setting TimeZone\n Default TimeZone: %@, Local Time%@",[formatter timeZone],nowStr); 

    NSDate*nowGMT = [formatterdateFromString:nowStr]; 
   NSLog(@"当地时间->标准时间%@",nowGMT); 
   NSLog(@"标准时间->当地时间%@",[formatterstringFromDate:nowGMT]); 
  
       
   //获取特定时区的时间字符串 
    [formattersetTimeZone:[NSTimeZonetimeZoneWithName:@"America/Adak"]]; 
    NSString*AmericanNow = [formatter stringFromDate:[NSDatedate]];   
    NSLog(@"nowtime with certain timezone: %@ Local Time %@", [formattertimeZone], AmericanNow); 
      
    NSDate*AmericanGMT = [formatterdateFromString:AmericanNow]; 
   NSLog(@"特定时区的时间->标准时间%@",AmericanGMT); 
   NSLog(@"标准时间->特定时区的时间%@",[formatterstringFromDate:AmericanGMT]); 
    [formatter release]; 



 
   NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 
   [dateFormatter setDateFormat:@"yyyy-MM-ddHH:mm:SS"]; 
    NSString*defaultNowStr = [dateFormatter stringFromDate:[NSDatedate]]; 
   NSLog(@"获取系统默认时间的时间字符串%@",defaultNowStr); 
    
    
    
    NSDate*dateGMT = [dateFormatterdateFromString:defaultNowStr]; 
   NSLog(@"获取标准时间%@",dateGMT); 
    
    
   [dateFormatter setTimeZone:[NSTimeZonetimeZoneWithName:@"America/Adak"]]; 
    NSString*localDateStr = [dateFormatterstringFromDate:dateGMT]; 
   NSLog(@"将标准时间转换称特定时区的时间%@",localDateStr); 
   
   [dateFormatter release]; 

//将某个时区的特定时间转化称另一个时区的对应时间 
 
   NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc]init]; 
   [dateFormatter2 setDateFormat:@"yyyy-MM-ddHH:mm:SS"]; 
    NSString*fromTimeZone = [[NSString alloc]initWithString:@"Asia/Tokyo"]; 
    NSString*date_fromTimeZone = [[NSString alloc] initWithString:@"2011-12-3016:45:00"]; 
    
   [dateFormatter2 setTimeZone:[NSTimeZonetimeZoneWithName:fromTimeZone]]; 
    NSDate*dateOfGMT = [dateFormatter2dateFromString:date_fromTimeZone]; 
   [fromTimeZone release]; 
   [date_fromTimeZone release]; 
    
    NSString*toTimeZone = [[NSString alloc]initWithString:@"America/Adak"]; 
   [dateFormatter2 setTimeZone:[NSTimeZonetimeZoneWithName:toTimeZone]]; 
    NSString*dateStrDst = [dateFormatter2stringFromDate:dateOfGMT]; 
   NSLog(@"dateStrDst %@",dateStrDst); 
    [toTimeZonerelease]; 
    
    
    [dateFormatter2 release];