我成功地从NSDate格式String获取了dd-MM-yyyy HH:mm
但是,当我尝试使用String格式的dd-MM-yyyy HH:mm:ss:ms时,它不起作用

这是我的代码

    NSString *time1 = @"28-04-2016 09:59";
    NSDateFormatter * formatter1 = [[NSDateFormatter alloc] init];
    [formatter1 setDateFormat:@"dd-MM-yyyy HH:mm"];
    NSDate *dateTime1 = [formatter1 dateFromString:time1];

    NSLog(@"time1 = %@",time1);
    NSLog(@"dateTime1 = %@",dateTime1);



    NSString *time2 = @"28-04-2016 09:59:23:5923";
    NSDateFormatter * formatter2 = [[NSDateFormatter alloc] init];
    [formatter2 setDateFormat:@"dd-MM-yyyy HH:mm:ss:ms"];
    NSDate *dateTime2 = [formatter2 dateFromString:time2];
    NSLog(@"time2 = %@",time2);
    NSLog(@"dateTime2 = %@",dateTime2);


这是日志

2016-04-28 10:24:31.393 EarCrush[2370:43278] time1 = 28-04-2016 09:59
2016-04-28 10:24:31.394 EarCrush[2370:43278] dateTime1 = 2016-04-28 02:59:00 +0000
2016-04-28 10:24:31.394 EarCrush[2370:43278] time2 = 28-04-2016 09:59:23:5923
2016-04-28 10:24:31.395 EarCrush[2370:43278] dateTime2 = (null)


更新
如果我使用格式@"dd-MM-yyyy HH:mm:ss:SSSS"
我会得到结果:

2016-04-28 10:50:56.281 EarCrush[3237:56438] dateTime2 = 2016-04-28 02:59:23 +0000


dateTime2不是null,但缺少毫秒

任何帮助将不胜感激。

最佳答案

根据this列表,小数秒为大写字母S

[formatter2 setDateFormat:@"dd-MM-yyyy HH:mm:ss:SSSS"];


考虑到NSLog不显示小数秒。
为此,您需要使用日期格式器将日期转换回字符串。

关于ios - 无法从字符串获取日期时间,格式为dd-MM-yyyy HH:mm:ss:ms,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36904774/

10-14 22:42