ios - 如何从NSString获取NSTimeInterval?

标签 ios objective-c nsdate nstimeinterval

我正在尝试将以下字符串“2016-05-15T14:40:43.447”转换为NSDate,但其不是NSDateFormatter始终返回nil

这就是我目前正在做的。

- (NSTimeInterval) timeIntervalFromDateString:(NSString *)stringDate {
    if(!stringDate || ![stringDate length]) {
        return 0.0f;
    }
    static NSDateFormatter *df = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        df = [NSDateFormatter new];
        [df setDateFormat:@"yyyy-MM-dd'T'hh:mm:ss.SSS"];
    });
    NSDate *date = [df dateFromString:stringDate];
    // date is always returns nil.
    return [date timeIntervalSince1970];
}

我尝试设置以下格式:
yyyy-MM-dd'T'hh:mm:ss.SSS
yyyy-MM-dd'T'hh:mm:ssz
yyyy-MM-dd'T'hh:mm:ss Z
yyyy-MM-dd'T'hh:mm:ss.SSS Z
yyyy-MM-dd'T'hh:mm:ss.SSS z

但是他们都不起作用。

我也检查了What format string do I use for milliseconds in date strings on iPhone?,但没有帮助。

运气好的话?

最佳答案

14:40:43是24小时格式,即大写H

yyyy-MM-dd'T'HH:mm:ss.SSS

关于ios - 如何从NSString获取NSTimeInterval?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35481847/

相关文章:

objective-c - copy/mutableCopy 操作增量保留计数值吗?? ( objective-c )

objective-c - 在 Objective c 中就地调用函数

objective-c - 将时间戳转换为 nsdate 格式

swift - 无法将类型 'String' 的值转换为预期的参数类型 'TimeInterval'(又名 'Double')

ios - 德尔福 + iOS : Error by "translating" of "UIContextualAction" interface from ObjectiveC to Delphi

iOS ARC 不释放 View

objective-c - Clang:找不到符号。 cocos2d mac

ios - 如何将 UITextField.text 设置为 NSDate?

ios - 在 App Store Italy 上发布应用程序后,iAd 未在设备上显示

iphone - 使用 OpenGL 在 iPad 上从整数数据集中绘制图像数据