【问题标题】:Month changes while convert NSString to NSDate将 NSString 转换为 NSDate 时月份的变化
【发布时间】:2019-07-30 07:27:48
【问题描述】:

这是我的代码:

NSString *date = [NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults] stringForKey:@"start_date"]];
NSString *time = [NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults] stringForKey:@"start_time"]];  
NSString *dateAndTime = [NSString stringWithFormat:@"%@ %@",date,time];  

这里我的日期是:2019-03-14,我的时间是:18:40:00dateAndTime 是:2019-03-14 18 :40:00

现在,当我将 NSString 转换为 NSDate 时,它会给出不同的月份。
这是我的错误代码:

// convert to date
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    //dateFormat.dateFormat = @"dd MMM YYYY HH:mm:ss";
    [dateFormat setDateFormat:@"yyyy-mm-dd HH:mm:ss"];
    NSDate *dateTime = [dateFormat dateFromString:dateAndTime];
    NSLog(@"dateTime : %@",dateTime);  

现在o/p是2019-01-14 13:10:00 +0000
这里时间和月份都发生了变化。

那么我的代码有什么问题?

提前致谢。

【问题讨论】:

    标签: ios objective-c nsstring nsdate nsdateformatter


    【解决方案1】:

    日期格式错误,只是笔误:

    • mm 分钟
    • MM 是月份

      [dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
      

    【讨论】:

      猜你喜欢
      • 2016-09-01
      • 2011-04-24
      • 2017-04-23
      • 2021-09-11
      • 2011-04-18
      • 1970-01-01
      相关资源
      最近更新 更多