NSDate 问题

fisea 2016-08-08 09:10:28
长时间格式 2016-08-01 11:32:12
+(NSDate *)localDate
{
NSDate *date = [NSDate date];
NSTimeZone *zone = [NSTimeZone systemTimeZone];
NSInteger interval = [zone secondsFromGMTForDate: date];
NSDate *localeDate = [date dateByAddingTimeInterval: interval];
return localeDate;
}

NSDate *longDate=[NSDate localDate];
NSDateFormatter *formater = [[NSDateFormatter alloc]init];
[formater setDateFormat:@"yyyy-MM-dd"];
[formater setTimeZone:[NSTimeZone systemTimeZone]];
NSString *strShortDate=[formater stringFromDate:longDate];
NSDate *shortDate=[formater dateFromString:strShortDate];

调用上面的代码片段返回以下结果,我想要的是北京时间
longDate=2016-08-08 21:01:22 +0000 这个是对的。
strShortDate=2016-08-09 明明是8-8,为什么变成8-9?
shortDate=2016-08-08 16:00:00 +0000 这个也不对,我想返回2016-08-08

我的系统时区是asia/hongkong
请高手指教下,谢谢。
...全文
187 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧