iOS开发:获取当前时间、当前时间戳(秒/毫秒)的方法

虽然之前总结整理过一篇关于iOS开发过程中时间和时间戳的博文,但是不是太完善,那么本章博文就来把之前那篇文章没有总结到的内容整理出来,依然只分享给有需要的人。具体内容如下所示。

一、获取当前时间

+(NSString*)getCurrentTimes {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

// 设置想要的格式,hh与HH的区别:分别表示12小时制,24小时制

[formatter setDateFormat:@”YYYY-MM-dd HH:mm:ss”];

NSDate *dateNow = [NSDate date];

//把NSDate按formatter格式转成NSString

NSString *currentTime = [formatter stringFromDate:dateNow];

return currentTime;

}

二、获取当前时间的时间戳

获取当前时间的时间戳有两种方法,*种是以秒为单位的,另一种是以毫秒为单位的,一定要根据实际情况来使用处理。

1、获取当前时间戳有两种方法(以秒为单位)

+(NSString *)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/Shanghai”];

[formatter setTimeZone:timeZone];

NSDate *dateNow = [NSDate date];

NSString *timeStamp = [NSString stringWithFormat:@”%ld”, (long)[dateNow timeIntervalSince1970]];

return timeStamp;

}

+(NSString *)getNowTimeStamp2 {
NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];

NSTimeInterval a=[dat timeIntervalSince1970];

NSString*timeString = [NSString stringWithFormat:@”%0.f”, a];//转为字符型

return timeString;

}

2、获取当前时间戳 (以毫秒为单位)

+(NSString *)getNowTimeTimestamp3{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;

[formatter setDateStyle:NSDateFormatterMediumStyle];

[formatter setTimeStyle:NSDateFormatterShortStyle];

[formatter setDateFormat:@”YYYY-MM-dd HH:mm:ss SSS”]; // 设置想要的格式,hh与HH的区别:分别表示12小时制,24小时制

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

NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@”Asia/Shanghai”];

[formatter setTimeZone:timeZone];

NSDate *datenow = [NSDate date];

NSString *timeSp = [NSString stringWithFormat:@”%ld”, (long)[datenow timeIntervalSince1970]*1000];

return timeSp;

}

代码实例如下:

%title插图%num

另附获取当前时间的方法步骤,仅供参考,具体如下图所示:

%title插图%num