您的位置:首页 > 移动开发 > IOS开发

iOS开发:NSDate时区与格式化问题

2015-03-08 22:04 204 查看
今天做到DatePicker,一个按钮弹出选择的日期时间,默认的NSDate Date的显示的是格林威治标准时间GMT,在中国肯定不适用,所以要转换为中国时区+8,然后也接触到ios中的日期时间格式化。


贴上代码:

//取DatePicker选择的日期时间
NSDate *date = [DatePicker date];

//时区转换,取得系统时区,取得格林威治时间差秒
//NSTimeInterval  timeZoneOffset=[[NSTimeZone systemTimeZone] secondsFromGMT];
//NSLog(@"%f",timeZoneOffset/60.0/60.0);

//date = [date dateByAddingTimeInterval:timeZoneOffset];

//格式化日期时间
NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init];
[dateformatter setDateFormat:@"现在日期:yyyy年MM月dd日 \n 现在时刻: HH:mm:ss             "];
NSString * dateStr=[dateformatter stringFromDate:date];

//警告弹出
NSString * strDate = [[NSString alloc] initWithFormat:@"%@",dateStr] ;
UIAlertView * tip = [[UIAlertView alloc] initWithTitle:@"选择时间" message:strDate delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];
[tip show];
[tip release];

//清理
[dateformatter release];


这里有点疑惑的是,不加上时区转换的代码,就只有格式化日期都可以自动转换为+8时区,这是为什么呢?

 

关于格式化日期的格式字符串就不用说了很简单,yyyy代表年,M代表月,d代表几号,HH小时,mm分钟,ss秒,这里要提的一点是这个是区分大小写,个数不同结果也不同,在一位的时候,比如dd是09,而d就是9。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐