使用NSDateFormatter,这是我的输入:
00:20:11,026 (NSString)
这是我想要的输出:
"00:20:11,026"; (NSDate)
但我得到的是:
"1970-01-01 00:20:11 +0100" (NSDate)
// SSS is missing and there is too much information...
这是我编码的内容:
...
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh:mm:ss,SSS"];
[dateFormatter dateFromString:@"00:20:11,026"];
...
答案 0 :(得分:1)
首先,你的NSDateFormatter很好。
根据输出判断,看起来你只是NSLogging一个实际的NSDate对象,并期望该格式代表用于创建它的NSDateFormatter。无论您是否从NSDateFormatter获取NSDate对象,所有NSDate对象的格式都是相同的。你担心的“1970-01-01 00:20:11 +0100”字符串实际上是由NSDate实现的-description
方法提供的。
所以我的猜测是,虽然日志语句中缺少小数秒(SSS),但它们实际上存在并在NSDate对象中占用。此外,“太多信息”也只是NSDate提供的默认描述的工件。我非常确定您的实际NSDate包含您想要的所有信息。