欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS中时间与时间戳的相互转化实例代码

程序员文章站 2024-02-14 16:48:22
本人搜索了很多关于ios中时间与时间戳的相互转化的资料,下面我来记录一下,有需要了解ios中时间与时间戳的相互转化的朋友可参考。希望此文章对各位有所帮助。 /...

本人搜索了很多关于ios中时间与时间戳的相互转化的资料,下面我来记录一下,有需要了解ios中时间与时间戳的相互转化的朋友可参考。希望此文章对各位有所帮助。

//获取当前系统时间的时间戳

#pragma mark - 获取当前时间的 时间戳

+(nsinteger)getnowtimestamp{

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

 [formatter setdatestyle:nsdateformattermediumstyle];

 [formatter settimestyle:nsdateformattershortstyle];

 [formatter setdateformat:@"yyyy-mm-dd hh:mm:ss"]; // ----------设置你想要的格式,hh与hh的区别:分别表示12小时制,24小时制

 //设置时区,这个对于时间的处理有时很重要

 nstimezone* timezone = [nstimezone timezonewithname:@"asia/beijing"];

 [formatter settimezone:timezone];

 nsdate *datenow = [nsdate date];//现在时间

 

 nslog(@"设备当前的时间:%@",[formatter stringfromdate:datenow]);

 //时间转时间戳的方法:

 

 nsinteger timesp = [[nsnumber numberwithdouble:[datenow timeintervalsince1970]] integervalue];

 

 nslog(@"设备当前的时间戳:%ld",(long)timesp); //时间戳的值

 

 return timesp;

}

 

//将某个时间转化成 时间戳

#pragma mark - 将某个时间转化成 时间戳

+(nsinteger)timeswitchtimestamp:(nsstring *)formattime andformatter:(nsstring *)format{

 

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

 [formatter setdatestyle:nsdateformattermediumstyle];

 [formatter settimestyle:nsdateformattershortstyle];

 [formatter setdateformat:format]; //(@"yyyy-mm-dd hh:mm:ss") ----------设置你想要的格式,hh与hh的区别:分别表示12小时制,24小时制

 

 nstimezone* timezone = [nstimezone timezonewithname:@"asia/beijing"];

 [formatter settimezone:timezone];

 

 nsdate* date = [formatter datefromstring:formattime]; //------------将字符串按formatter转成nsdate

 //时间转时间戳的方法:

 nsinteger timesp = [[nsnumber numberwithdouble:[date timeintervalsince1970]] integervalue];

 

 nslog(@"将某个时间转化成 时间戳&&&&&&&timesp:%ld",(long)timesp); //时间戳的值

 

 return timesp;

}

 

//将某个时间戳转化成 时间

#pragma mark - 将某个时间戳转化成 时间

+(nsstring *)timestampswitchtime:(nsinteger)timestamp andformatter:(nsstring *)format{

 

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

 [formatter setdatestyle:nsdateformattermediumstyle];

 [formatter settimestyle:nsdateformattershortstyle];

 [formatter setdateformat:format]; // (@"yyyy-mm-dd hh:mm:ss")----------设置你想要的格式,hh与hh的区别:分别表示12小时制,24小时制

 nstimezone *timezone = [nstimezone timezonewithname:@"asia/beijing"];

 [formatter settimezone:timezone];

 nsdate *confromtimesp = [nsdate datewithtimeintervalsince1970:timestamp];

 nslog(@"1296035591 = %@",confromtimesp);

 

 nsstring *confromtimespstr = [formatter stringfromdate:confromtimesp];

 

 //nslog(@"&&&&&&&confromtimespstr = : %@",confromtimespstr);

 

 return confromtimespstr;

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。