当前位置: 移动技术网 > IT编程>移动开发>IOS > iOS 获取当前时间及时间戳的互换实例

iOS 获取当前时间及时间戳的互换实例

2019年07月24日  | 移动技术网IT编程  | 我要评论

优秀党员材料,绝世唐门全文阅读,恶龙军团优等生

在项目开发中,难免会遇到使用当前时间,比如实现网络请求上传报文、预约、日历等功能。

1. 获取年月日时分秒

实现代码:

nsdate *date1 = [nsdate date];
nsdateformatter *formatter1 = [[nsdateformatter alloc] init];
[formatter1 setdatestyle:nsdateformattermediumstyle];
[formatter1 settimestyle:nsdateformattershortstyle];
[formatter1 setdateformat:@"yyyy-mm-dd hh:mm:ss"];
nsstring *datetime1 = [formatter1 stringfromdate:date1];

str就是我们需要的时间,代码中(“yyyy-mm-dd hh:mm:ss”)这个时间的样式是可以根据我们的需求进行修改的,比如:

20170901112253 ==> (“yyyymmddhhmmss”)

如果只想获取年月,代码如下:

nsdate *date1 = [nsdate date];
nsdateformatter *formatter1 = [[nsdateformatter alloc] init];
[formatter1 setdatestyle:nsdateformattermediumstyle];
[formatter1 settimestyle:nsdateformattershortstyle];
[formatter1 setdateformat:@"yyyy-mm"];
nsstring *datetime1 = [formatter1 stringfromdate:date1];

2. 区分系统时间是24小时制还是12小时制

代码如下:

//获取系统是24小时制或者12小时制
nsstring *formatstringforhours = [nsdateformatter dateformatfromtemplate:@"j" options:0 locale:[nslocale currentlocale]];
nsrange contains = [formatstringforhours rangeofstring:@"a"];
bool thisampm = contains.location != nsnotfound;

thisampm==ture为12小时制,否则为24小时制

3. 字符串转时间戳

代码如下:

//字符串转时间戳
//datenow为当前时间
nsstring *timesp = [nsstring stringwithformat:@"%d", (long)[datenow timeintervalsince1970]]; 
//时间戳的值
nslog(@"timesp:%@",timesp); 

4. 时间戳转字符串

代码如下:

//时间戳转字符串
nsstring *timestr = "1506064573";
nstimeinterval interval=[timestr doublevalue] / 1000.0;
nsdate *date = [nsdate datewithtimeintervalsince1970:interval];
//实例化一个nsdateformatter对象
nsdateformatter *dateformatter = [[nsdateformatter alloc]init];
//设定时间格式,这里可以设置成自己需要的格式
[dateformatter setdateformat:@"yyyy-mm-dd hh:mm:ss"];
nsstring *currentdatestr = [dateformatter stringfromdate:date];

以上这篇ios 获取当前时间及时间戳的互换实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网