3

我是这个领域的新手。这个问题可能很愚蠢。

NSDateFormatter提前一年的日期为 2012 年 12 月 30 日和 2012 年 12 月 31 日。对于 2013 年 12 月 30 日和 2013 年 12 月 31 日,它还将把这一年推迟到 2014 年。

我的代码是:

 -(NSString*)getDateOrTime:(NSDate *)inDate formatter:(NSString *)lformat
 {
 NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
     [formatter setDateFormat:lformat];//@"MMM-dd-yyyy"];
     NSString *currentDate = [formatter stringFromDate:inDate];// here it is giving wrong    date
     // it is happening for only mentioned specific dates only
     [formatter release];

     return currentDate;
 }

我怎样才能得到它给我正确的日期?

4

2 回答 2

1

由于您没有提供有关时区的格式化程序信息,因此 NSDateFormatter 将日期假定为 GMT 时间。您需要设置正确的时区 — 设置为 dateFormatter 或将其添加到字符串中。在 Stack Overflow 上有数百篇关于此的帖子。

于 2012-12-18T13:28:39.443 回答
-1

格式应如下所示。

提供的日期格式应该是@"MM-dd-yyyy"

  [formatter setDateFormat:lformat];//@"MM-dd-yyyy"];

MM只能按照日期格式使用。

于 2012-12-18T13:14:30.557 回答