ios - 无法从格式为 dd-MM-yyyy HH :mm:ss:ms 的字符串中获取日期时间

标签 ios objective-c nsdateformatter

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

这是我的代码

    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/

相关文章:

python - 将日期时间从 Objective C 传递到 Django

ios - NSDate 混淆 dateFromString 格式

ios - 使用图像选择器将图像加载到两个 Collection View 单元格

ios - 查明 PNG 是 8 位还是 24 位以及 alpha

ios - 当 Collection View 中的第一个单元格聚焦时,无法聚焦 uibutton

iphone - 是否可以推送到另一个 View Controller ,然后从该 View Controller 中访问一个方法?

objective-c - 在 Swift 中创建 NSDateFormatter?

检查iOS framework是否支持bitcode

ios - 动画淡入/淡出标题按钮不起作用

ios - 使用 NSLocale 根据国家/地区代码或国家/地区名称获取货币符号