将 NSString 转换为 NSDate 时月份发生变化
Month changes while convert NSString to NSDate
这是我的代码:
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:00,dateAndTime 是: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
这里时间和月份都变了。
所以我的代码有什么问题?
提前致谢。
日期格式错误,只是一个错字:
mm
是分钟
MM
是月
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
这是我的代码:
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:00,dateAndTime 是: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
这里时间和月份都变了。
所以我的代码有什么问题?
提前致谢。
日期格式错误,只是一个错字:
mm
是分钟MM
是月[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];