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

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

程序员文章站 2023-12-19 12:08:10
在项目开发中,难免会遇到使用当前时间,比如实现网络请求上传报文、预约、日历等功能。 1. 获取年月日时分秒 实现代码: nsdate *date1 = [ns...

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

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 获取当前时间及时间戳的互换实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

上一篇:

下一篇: