NSDate dateFromString中的输出不正确

时间:2014-07-22 06:10:40

标签: ios nsdate nsdateformatter

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"MM-dd-YYYY"];
 NSDate *myTime = [[NSDate alloc] init];
    myTime = [dateFormat dateFromString:@"07-22-2014"];
    NSLog(@"%@",myTime);

我正在将存储日期(当前是硬编码的)转换为NSDate格式,以便我可以显示它并在其上应用操作。但myTime输出错误。

2013-12-21 18:30:00 +0000

而我将07-22-2014作为字符串传递,并期望我输出07-22-2014。 除了设置正确之外我还需要一些格式吗? ?出错的原因是什么?

2 个答案:

答案 0 :(得分:-1)

试试这个

 -(NSString *)dateFormater:(NSDate *)date
    {
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    formatter.dateFormat = @"yyyy-MM-dd hh:mm:ss";
        NSString *strDate=[formatter stringFromDate:date];
        formatter = nil;
        return strDate;
    }

像这样使用..

NSString *temp=[self dateFormater:[NSDate date]];
    NSLog(@"%@",temp);

答案 1 :(得分:-1)

 NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"MM-dd-yyyy"];
    [dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
   NSDate* myTime = [dateFormat dateFromString:@"07-22-2014"];
    NSLog(@"%@",myTime);