代码改变世界

NSDate和NSString之间的转换,(可以转时区的哈)

2011-06-03 15:30  cnb_mtime  阅读(9211)  评论(2编辑  收藏  举报
//输入的日期字符串形如:@"1992-05-21 13:08:08"

- (NSDate *)dateFromString:(NSString *)dateString{

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

[dateFormatter setDateFormat:
@"yyyy-MM-dd HH:mm:ss"];


NSDate
*destDate= [dateFormatter dateFromString:dateString];

[dateFormatter release];

return destDate;

}

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

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

//zzz表示时区,zzz可以删除,这样返回的日期字符将不包含时区信息 +0000。

[dateFormatter setDateFormat:
@"yyyy-MM-dd HH:mm:ss zzz"];

NSString
*destDateString = [dateFormatter stringFromDate:date];

[dateFormatter release];

return destDateString;

}

- (IBAction)handleDidPressBtn1{

NSLog(
@"%@\n", [self dateFromString:@"2011-08-09 12:02:01"]);

NSLog(
@"%@\n", [self stringFromDate:[self dateFromString:@"2011-08-09 12:02:01"]]);

}

输出结果如下:

2011-08-09 04:02:01 +0000

2011-08-09 12:02:01 GMT+08:00