如何使用nsdateformatter将格式为yyyy / mm / dd的NSDate作为日期

时间:2013-05-02 09:55:19

标签: nsdateformatter

NSDateFormatter *newformat = [NSDateFormatter new];

[newformat setDateFormat:@"yyyy/MM/dd HH:mm:ss"];

NSString *string = [newformat stringFromDate:[NSDate date]];

我正在获取所需格式的字符串,但不是我尝试跟随一个

的日期
NSDate *newone = [secondformatter dateFromString:string];

4 个答案:

答案 0 :(得分:0)

尝试,

   NSDateFormatter * dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"MMM dd, YYYY"];
    NSString * dateEndPrev = [dateFormat stringFromDate:[NSDate date]];

    NSDateFormatter * dateFormat1 = [[NSDateFormatter alloc] init];
    [dateFormat1 setDateFormat:@"MMM dd, YYYY a"];

    NSDate *tmp = [dateFormat dateFromString:dateEndPrev];
    NSString *strNew = [dateFormat1 stringFromDate:tmp];

    NSDate *date = [dateFormat1 dateFromString:strNew];

它可能适合你。

答案 1 :(得分:0)

由于您要获得所需格式的字符串,这意味着格式化成功完成。您的代码应该没有任何问题。那么你在做什么来检查格式是否完成?打印日期对象以默认的UTC格式打印日期而不进行任何格式化。因此,通过打印来检查日期将无法正常工作。

这可以帮助你检查,或者说文件说,即直接打印格式化程序的输出,但我不打赌...

NSLog(@"%@", [secondformatter dateFromString:string]);

答案 2 :(得分:0)

NSDate没有格式。它有单一格式。格式化程序从日期对象中为您生成特定格式的字符串。日期也保持不变。

 NSDateFormatter * dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy/MM/dd"];//here the output string will be in the fromat specified here
NSString * dateEndPrev = [dateFormat stringFromDate:[NSDate date]];
NSLog(@"%@",dateEndPrev);

答案 3 :(得分:0)

经过一些研究,我明白不可能像NSCalendarDate那样在NSDate中以“yyyy / MM / dd”这种格式保存日期。