【问题标题】:NSDate dateFromString returns nilNSDate dateFromString 返回 nil
【发布时间】:2013-10-31 14:06:52
【问题描述】:

我无法将 datefromstring.Result 作为 nil 返回给我。

在调试中我看到以下结果:

self.searchDate=2013-10-31 13:48:16 +0000
salidaDateString=31/10/2013 14:48 08.35
prevhorasalida=08:23

下面是我的代码。

[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSString *salidaDateString = [NSString stringWithFormat:@"%@ %@",[dateFormatter stringFromDate:self.searchDate],prevHoraSalida];

[dateFormatter setDateFormat:@"dd-MM-yyyy HH:mm:ss"];
NSDate *fechasalida = [dateFormatter dateFromString:salidaDateString];

fechasalida 为零

我该如何解决这个问题。提前致谢。

【问题讨论】:

  • 您是否看过许多与您相关的问题?您需要设置与您的字符串实际匹配的格式。

标签: ios nsdata nsdateformatter date-format


【解决方案1】:

问题是prevhorasalida=08:23,在这里你只有 HH:mm 而不是第二个。

将您的HH:mm:ss 替换为HH.mm,不带ss 并使用'.'相反,如果是 ':',这应该可以工作。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateFormat:@"dd-MM-yyyy"];

NSString *prevHoraSalida = @"08.23";

NSString *salidaDateString = [NSString stringWithFormat:@"%@ %@",[dateFormatter stringFromDate:[NSDate date]],prevHoraSalida];

[dateFormatter setDateFormat:@"dd-MM-yyyy HH.mm"];

NSDate *fechasalida = [dateFormatter dateFromString:salidaDateString];

NSLog(@"%@", fechasalida);

【讨论】:

  • [dateFormatter setDateFormat:@"dd-MM-yyyy"]; NSString *salidaDateString = [NSString stringWithFormat:@"%@ %@",[dateFormatter stringFromDate:self.searchDate],prevHoraSalida]; [dateFormatter setDateFormat:@"dd-MM-yyyy HH:mm"]; NSDate *fechasalida = [dateFormatter dateFromString:salidaDateString];我已经改变了这样,仍然是零。?调试结果:self.searchDate:2013-10-31 14:24:26 +0000 salidaDateString:31-10-2013 08.12
  • prevHoraSalida 来自网络服务。就像 08.21
  • 好的,只需使用 HH.mm 代替 HH:mm(将 ':' 替换为 '.')。我编辑了我的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-18
  • 1970-01-01
相关资源
最近更新 更多