首页 > 移动平台 > 详细

iOS dateformatter设置GMT格式时间--iOS开发系列---项目中成长的知识四

时间:2015-10-22 23:50:04      阅读:2299      评论:0      收藏:0      [点我收藏+]

今天在项目中开始接手客户端的签名这个模块,签名这个会在项目结束过后再单独写一下自己的心得!

今天讲讲在签名的过程中我们需要向服务器传送一个Date值,格式要求是格林威治时间,也就是GMT时间!

格式要求是 22 Oct 2015 10:20:35 GMT 

而我通过[NSDate Date]获取到的格式是2015-10-22 10:20:35

所以就上网搜寻答案

说的是通过[NSDate Date]这个获取到的时间就是GMT地区的,所以我就觉得是转格式的地方出问题了

但是经过一番尝试后,无论是转格式还是设置时区(其实是我没有设准)都无法得到我想要的结果

 1     NSDateFormatter* dateFormatter = [[NSDateFormatter alloc]init];
10    [dateFormatter setDateFormat:@"dd MM yyyy HH:mm:ss "];
11 
12 
13     NSString *fixString = [dateFormatter stringFromDate:[NSDate date]];
14 
15     NSString *dateString = [NSString stringWithFormat:@"%@ GMT",fixString];
16 
17     MZTLog(@"fixString == %@",fixString);
18 
19     MZTLog(@"nowDate == %@",[NSDate date]);

于是和后台进行交流,让帮忙看看后台的转格式是怎样转的

最终找到源头所在,原来是转换的格式是错误的,并且也没有设置时区为格林威治地区

下列为我想要的结果

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

    NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"GMT"];
 
   [dateFormatter setTimeZone:timeZone];
   [dateFormatter setDateFormat:@"d MMM yyyy HH:mm:ss ‘GMT‘"];


    NSString *fixString = [dateFormatter stringFromDate:[NSDate date]];

    MZTLog(@"fixString == %@",fixString);
    MZTLog(@"nowDate == %@",[NSDate date]);

 

 

具体的更多的ios dateformatter 格式大全  可以参考下面一篇文章

http://www.open-open.com/lib/view/open1374292431912.html

iOS dateformatter设置GMT格式时间--iOS开发系列---项目中成长的知识四

原文:http://www.cnblogs.com/WayneLiu/p/4903114.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!