【问题标题】:iOS NSDateFormatter returns wrong dateiOS NSDateFormatter 返回错误的日期
【发布时间】:2017-02-11 00:11:02
【问题描述】:

dbVoiceDate为什么错了?

我尝试了很多!

NSDateFormatter *formatterVoice = [[NSDateFormatter alloc] init];
formatterVoice.dateFormat = @"dd-MMM-yyyy hh:mm:ss";
dbVoiceDate = [formatterVoice dateFromString:dbDateStr];

得到响应:

dbDateStr 的打印说明:

03-Oct-2016 10:43:59

self->dbVoiceDate的打印说明:

2016-10-03 05:02:16 +0000

提前致谢。

【问题讨论】:

  • 什么样的约会你不会告诉我..那我给你完美的答案。
  • 时区问题,不是吗?秒部分的微小差异是由于其他原因,您的日期似乎需要HH 而不是hh 几个小时,因为它没有明确写入AM 或PM。$
  • 还有大量其他帖子告诉您需要了解时区。

标签: ios objective-c ios7


【解决方案1】:

这样格式化

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MMM-yyyy hh:mm:ss"];
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];

//then do your coding.

【讨论】:

    【解决方案2】:

    您需要检查时区。如果它在 GMT 设置时区为 GMT,像这样:

    [youDateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
    

    否则,您可以像这样使用本地时区:

    [youDateFormat setTimeZone:[NSTimeZone systemTimeZone]];
    

    【讨论】:

      【解决方案3】:

      试试这个:-

      NSString *dateString = @"Thu Oct 3 10:34:58 +0000 2016";
      NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
      [dateFormatter setDateFormat:@"EEE MMM dd hh:mm:ss Z yyyy"];
      NSDate *date = [dateFormatter dateFromString:dateString];
      NSLog(@"%@", date);
      [dateFormatter setDateFormat:@"dd-MM-yyyy hh:mm:ss"];
      NSString *finalDateStr = [dateFormatter stringFromDate:date];
      NSLog(@"%@", finalDateStr);
      

      【讨论】:

        【解决方案4】:

        试试下面的代码:

        +(NSString*)getDateWithMonthSpelling:(NSString*)dateStr
        {
            NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
            dateFormatter.dateFormat = @"dd/MM/yyyy";
            NSDate *yourDate = [dateFormatter dateFromString:dateStr];
            dateFormatter.dateFormat = @"dd MMM yyyy";
            NSString*myDate = [dateFormatter stringFromDate:yourDate];
            return myDate;
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-07-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多