设为首页 加入收藏

TOP

0524.Objective-C中时间戳转换和时间的相互转换[Foundation]
2015-01-22 21:30:35 来源: 作者: 【 】 浏览:68
Tags:0524.Objective-C 时间 转换 相互 Foundation

什么是时间戳?

时间戳(timestamp),通常是一个字符序列,唯一地标识某一刻的时间。数字时间戳技术是数字签名技术一种变种的应用。

思考:简单来讲就是根据文件hash加密后生成的摘要和时间生成的时间凭证,它的数值是从1970年1月1日8点到现在时间的总的毫秒数

在Objective-C中如何将时间戳转换为NSDate?

NSString*str=@"1283376197";

NSTimeIntervaltime=[str doubleva lue];

NSDate*detaildate=[NSDate dateWithTimeIntervalSince1970:time];

NSLog(@"date:%@",[detaildatedescription]);

思考:使用该函数,传递时间戳的double值就可以得到NSDate时间

如何将当前时间转换为时间戳?

NSDate *datenow =[NSDate date];//现在时间,你可以输出来看下是什么格式

NSTimeZone *zone = [NSTimeZone systemTimeZone];

NSInteger interval = [zone secondsFromGMTForDate:datenow];

NSDate *localeDate = [datenow dateByAddingTimeInterval: interval];

NSString *timeSp = [NSString stringWithFormat:@"%d", (long)[localeDate timeIntervalSince1970]];

NSLog(@"timeSp:%@",timeSp); //时间戳的值

思考:根据当前时间和系统所在时区得到和标准时间的Interval,然后得到效验后的时间localeDate,最后[localeDate timeIntervalSince1970]获取效验后的时间和1970年时间的差值,也就是时间戳



如何格式化输出NSDate?

NSDateFormatter*formatter = [[NSDateFormatter alloc]init];

[formattersetDateFormat:@"yyyy年MM月dd日"];

NSDate *date =[formatter stringFromDate:detaildate];

NSLog(@"date:%@",date);

思考:创建一个NSDateFormatter类,然后传递一个NSDate即可。“yyyyMMddHHMMss”分别代表年月日时分秒

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Objective-C中的属性(property) 下一篇C语言编程积累2

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: