从NSString到NSDate的人类写日期

时间:2014-08-13 13:03:59

标签: ios objective-c nsstring nsdate

转换这样的东西的最佳方式是什么(写得很容易为人类阅读):

Jun 14, 2013或其他Sep 23, 2009

从NSString到NSDate?

如果NSString以更标准的格式编写,我只能找到转换的方法。

1 个答案:

答案 0 :(得分:2)

您可以将NSString日期转换为NSDate,如下所示:

      NSString *str1 =@"Jun 14, 2013";
      NSString *str2;

      NSDateFormatter *df = [[NSDateFormatter alloc] init];
      [df setDateFormat:@"MMM dd, yyyy"];
      NSDate *myDate = [df dateFromString: str1];

      str2=[df stringFromDate:myDate];

      NSDate *myDate2 = [df dateFromString: str2];

      // OUTPUT as your string 
      NSLog(@"same as your string %@",str2);

      // Here you can change date format that you want from actual formatted string.
      [df setDateFormat:@"yyyy MMM, dd"]; 

      //Out Put with change Format like 2013 Jun, 14
      NSLog(@"diffrent formate %@",[df stringFromDate:myDate2]); 

不要NSLog NSDate对象显示错误,这就是为什么我将NSlog与str2放在一起

  

NSDate对格式化(只是日期信息)一无所知,NSDateFormatter对日期一无所知,只知道如何格式化日期。所以你必须使用像-stringFromDate这样的方法:知道当前或不是实际格式化日期以供人类可读的显示。