NSString 到 NSDate 不起作用

NSString to NSDate doesn't work

现在可以使用此代码:

NSString *myDate = @"06/18/2015 8:26:17 AM";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
[dateFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US"]];
NSDate *date = [dateFormatter dateFromString:myDate];
[dateFormatter setDateFormat:@"dd.MM. HH:mm"];
NSString *dateString = [dateFormatter stringFromDate:date];
cell.timeLabel.text = dateString;

您必须将日期格式设置为字符串

NSString *myDate = @"06/18/2015 8:26:17 AM";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/dd/yyyy h:mm:ss a"];
NSDate *date = [dateFormatter dateFromString:myDate];
//Set New Date Format as you want
[dateFormatter setDateFormat:@"dd.MM. HH:mm"];
[dateFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US"]];
NSLog(@"%@",[dateFormatter stringFromDate:date]);

我认为您的代码 Dohi7 没有任何问题,因为我对其进行了测试并且日期以 @"dd.MM. HH:mm" 和 @"dd.MM. H:mm" 两种格式正确显示。请通过在控制台中打印再次检查 dateFromString 的值。

是的,Ashish 也是正确的。您不需要分配数据对象,您可以直接使用 dateFromString 函数,它本身 returns NSDate 对象。

谢谢,现在可以使用以下代码:

NSString *myDate = @"06/18/2015 8:26:17 AM";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
[dateFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US"]];
NSDate *date = [dateFormatter dateFromString:myDate];
[dateFormatter setDateFormat:@"dd.MM. HH:mm"];
NSString *dateString = [dateFormatter stringFromDate:date];
cell.timeLabel.text = dateString;