开发者社区 问答 正文

关于NSString转换到NSDate时日期不对

代码:

NSString * dateStr = @"7/25/2013 12:00:00 AM";    
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSDate *date = [dateFormat dateFromString:dateStr];  
NSLog(@"dateStr : %@ , date : %@",dateStr,date);

但是转换的日期会比实际日期差一天:
`dateStr : 7/25/2013 12:00:00 AM , date : 2013-07-24 18:30:00 +0000
`

展开
收起
爵霸 2016-03-19 09:13:29 2257 分享 版权
1 条回答
写回答
取消 提交回答
  • NSString * dateStr = @"7/25/2013 12:00:00 AM";
    
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
     [dateFormat setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
    NSDate *date = [dateFormat dateFromString:dateStr];
    
    NSLog(@"dateStr : %@ , date : %@",dateStr,date);

    试试看

    2019-07-17 19:07:11
    赞同 展开评论
问答地址: