Ios 使用NSDateFormatter转换日期格式时出现问题

Ios 使用NSDateFormatter转换日期格式时出现问题,ios,objective-c,nsdate,nsdateformatter,Ios,Objective C,Nsdate,Nsdateformatter,全部, 在我的项目中,我想将日期从MM dd yyyy转换为M/d/YY(12/31/15),但我得到了错误的格式,下面是我正在使用的代码 -(NSString*)dateConversionForWarranty:(NSString *)string { 我得到的字符串为2014年12月31日 NSDateFormatter* df_utc = [[NSDateFormatter alloc] init]; [df_utc setDateFormat:@"MM-dd-yyyy

全部,

在我的项目中,我想将日期从MM dd yyyy转换为M/d/YY(12/31/15),但我得到了错误的格式,下面是我正在使用的代码

-(NSString*)dateConversionForWarranty:(NSString *)string
{
我得到的字符串为2014年12月31日

    NSDateFormatter* df_utc = [[NSDateFormatter alloc] init];
    [df_utc setDateFormat:@"MM-dd-yyyy"];

    NSDate *date = [df_utc dateFromString:string];
当我转换它时,我得到的日期是“2014-12-30 18:30:00+0000”

然后,当我试图转换为上述格式时,我得到了一个完全错误的年份“12/31/15”

谁能告诉我哪里错了

我想要此格式的日期2015年12月31日,然后是哪种格式

试试这个
[dateFormatter setDateFormat:@“MM/dd/yy”]

有关

的更多信息,请按以下方式操作

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd/MM/yyyy HH:mm"];
// or 

[dateFormat setDateFormat:@"mm/dd/yyyy HH:mm"];
不要使用大写字母“Y”-它会为接近年初/年末的日期生成一个非常不可预测的值()。如果愿意,可以使用单个“M”来抑制月份的前导零

总之:

  • d-月日
  • y年
  • 小时——12小时钟
  • 小时——24小时制
  • 分钟
  • 秒的分数
  • 上午/下午

重复次数与字段宽度相对应(但并不总是1:1)。例如,“MMMM”将给出完整的月份名称,而“MMM”给出3个字母的缩写,“MM”给出2位数字的月份。有关详细信息,请参阅规范(上面突出显示)。

您正在尝试实现的目标….?我希望此格式中的日期为“12/31/15”,对于我获得的日期为“MM dd yyyy”格式,我希望转换格式“12/31/15”是您要求的YY格式。但是一般来说,没有人真的打算使用这种格式。好的,如果我想要这种格式的日期12/31/15,那么我们需要使用哪种类型的格式化程序:-对于日期M:-月和Y:-年
    NSString *formattedDate = [dateFormatter stringFromDate:date];
    return formattedDate;

}
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd/MM/yyyy HH:mm"];
// or 

[dateFormat setDateFormat:@"mm/dd/yyyy HH:mm"];