NSDate与 NSString long long类型的相互转化

Posted small英

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSDate与 NSString long long类型的相互转化相关的知识,希望对你有一定的参考价值。

NSDate与 NSString 、long long类型的相互转化

 

我的技术博客经常被流氓网站恶意爬取转载。请移步原文:http://www.cnblogs.com/hamhog/p/3560280.html,享受整齐的排版、有效的链接、正确的代码缩进、更好的阅读体验。

【NSDate <-> NSString】

NSDateFormatter可在指定的日期格式下使NSDate与NSString相互转化。

NSDate -> NSString:

复制代码
+(NSString*)stringFromDate:(NSDate*)date{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];
    
    return [dateFormatter stringFromDate:date];
}
复制代码

NSString -> NSDate:

复制代码
+(NSDate*)dateFromString:(NSString*)dateString{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];
    
    return [dateFormatter dateFromString:dateString];
}
复制代码

其中的zzz表示时区,可以省去。

【NSDate <-> long long】

我们经常用一个long long类型的变量——从1970年以来的毫秒数来表示时间。NSDate提供方法与这种整数形式相互转化。

NSDate -> long long:

+(long long)longLongFromDate:(NSDate*)date{
    return [date timeIntervalSince1970] * 1000;
}

long long -> NSDate:

+(NSDate*)dateFromLongLong:(long long)msSince1970{
    return [NSDate dateWithTimeIntervalSince1970:msSince1970 / 1000];
}

注意这里timeInteval的单位是秒(s),而常用的单位是毫秒(ms),因此需做乘除1000的转化。

以上是关于NSDate与 NSString long long类型的相互转化的主要内容,如果未能解决你的问题,请参考以下文章

NSDate转NSString

将NSDate转换为NSString

从 NSDate 到 NSString 的转换,属性上的核心数据迁移未正确显示字符串

NSDate和NSString的转换及判定是昨天,今天,明天

将 NSDate 转换为 NSString

NSString 到 NSDate 的转换失败