日期格式化程序在 iOS 中给出错误的日期?
date formatter giving wrong dates in iOS?
我有一个应用程序,我在其中使用日期格式化程序来处理字符串,例如
“6/30/2016 1:00:00 PM
”像这样 30-Jun-2016 1:00
。我正在这样做
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"mm/dd/yyyy hh:mm:ss a"];
NSDate *date = [dateFormat dateFromString:dateStr];
[dateFormat setDateFormat:@"dd-MMM-yyyy hh:mm"];
NSString *stringDate = [dateFormat stringFromDate:date];
return stringDate;
但它并没有给我错误的日期,例如 2016 年 1 月 30 日 1:00。
谁能指出我哪里出错了?
你给的日期格式错误你需要大写月 MM
不小,小 mm
是分钟。像这样更改您的代码。
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSDate *date = [dateFormat dateFromString:dateStr];
[dateFormat setDateFormat:@"dd-MMM-yyyy hh:mm"];
NSString *stringDate = [dateFormat stringFromDate:date];
return stringDate;
希望对您有所帮助。
我有一个应用程序,我在其中使用日期格式化程序来处理字符串,例如
“6/30/2016 1:00:00 PM
”像这样 30-Jun-2016 1:00
。我正在这样做
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"mm/dd/yyyy hh:mm:ss a"];
NSDate *date = [dateFormat dateFromString:dateStr];
[dateFormat setDateFormat:@"dd-MMM-yyyy hh:mm"];
NSString *stringDate = [dateFormat stringFromDate:date];
return stringDate;
但它并没有给我错误的日期,例如 2016 年 1 月 30 日 1:00。
谁能指出我哪里出错了?
你给的日期格式错误你需要大写月 MM
不小,小 mm
是分钟。像这样更改您的代码。
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSDate *date = [dateFormat dateFromString:dateStr];
[dateFormat setDateFormat:@"dd-MMM-yyyy hh:mm"];
NSString *stringDate = [dateFormat stringFromDate:date];
return stringDate;
希望对您有所帮助。