NSDateFormatter提前一年推出12/30/2012和12/31/2012

时间:2012-12-18 13:08:29

标签: objective-c

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

NSDateFormatter提前一年提前12/30/2012和12/31/2012。对于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;
 }

我怎样才能让它给我正确的约会对象?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:-1)

格式应如下所示。

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

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

您必须按照日期格式使用MM