日期格式化程序在iOS中给出错误的日期?

时间:2016-06-27 04:36:57

标签: ios objective-c nsdate nsdateformatter

我有一个应用程序,我在其中使用日期格式化程序来表示字符串 " 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。

任何人都可以指出我哪里出错了吗?

1 个答案:

答案 0 :(得分:1)

您提供了错误的日期格式,您需要将月份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; 。像这样更改你的代码。

function_name(parameters) SOME_OTHER_THING(some_variable_as_parameter) {
  //some code
}

希望这会对你有所帮助。