码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 本地时间、UTC时间、时间戳等操作

时间:2017-03-20 22:07:27      阅读:1958      评论:0      收藏:0      [点我收藏+]

标签:cond   nsstring   pre   send   rom   com   timezone   bst   mil   

//获得当前时间并且转为字符串
- (NSString *)dateTransformToTimeString
{
    NSDate *currentDate = [NSDate date];//获得当前时间为UTC时间 2014-07-16 07:54:36 UTC  (UTC时间比标准时间差8小时)
    //转为字符串
    NSDateFormatter*df = [[NSDateFormatter alloc]init];//实例化时间格式类
    [df setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//格式化
    //2014-07-16 07:54:36(NSString类)
    NSString *timeString = [df stringFromDate:currentDate];
    return timeString;
}

 


//获取当前时间转为时间戳
- (NSString *)dateTransformToTimeSp
{
    UInt64 recordTime = [[NSDate date] timeIntervalSince1970]*1000;//客户端当前13位毫秒级时间戳
    NSString *timeSp = [NSString stringWithFormat:@"%llu",recordTime];//时间戳转字符串(13位毫秒级时间戳字符串)
    return timeSp;
}

 

 1 //时间戳字符串1469193006001(毫秒)1469193006.001(毫秒,1469193006001234(微秒)1469193006.001234(微秒)转 UTC时间2016-08-11T07:00:55.611Z
 2 - (NSString *)timespToUTCFormat:(NSString *)timesp
 3 {
 4     NSString *timeString = [timesp stringByReplacingOccurrencesOfString:@"." withString:@""];
 5     if (timeString.length >= 10) {
 6         NSString *second = [timeString substringToIndex:10];
 7         NSString *milliscond = [timeString substringFromIndex:10];
 8         NSString * timeStampString = [NSString stringWithFormat:@"%@.%@",second,milliscond];
 9         NSTimeInterval _interval=[timeStampString doubleValue];
10         NSDate *date = [NSDate dateWithTimeIntervalSince1970:_interval];
11 
12         NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
13         NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
14         [dateFormatter setTimeZone:timeZone];
15         [dateFormatter setDateFormat:@"yyyy-MM-dd‘T‘HH:mm:ss.SSS‘Z‘"];
16         NSString *dateString = [dateFormatter stringFromDate:date];
17 
18         return dateString;
19     }
20     return @"";
21 }

 


//13位时间戳1469193006001(毫秒)转 系统时间2016-08-11 08:55:36
 1 + (NSString *)timespToYMDFormat:(NSNumber *)timesp
 2 {
 3     NSString *stime = [timesp stringValue];
 4     NSTimeInterval time = [[stime substringToIndex:10] doubleValue];
 5     NSDate *detaildate=[NSDate dateWithTimeIntervalSince1970:time];
 6     NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
 7     [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
 8 
 9     return [dateFormatter stringFromDate: detaildate];
10 }

 






//            时间转时间戳的方法:sendDate为NSDate类
NSString *timeSp = [NSString stringWithFormat:@"%ld", (long)[sendDate timeIntervalSince1970]];

 

 

iOS 本地时间、UTC时间、时间戳等操作

标签:cond   nsstring   pre   send   rom   com   timezone   bst   mil   

原文地址:http://www.cnblogs.com/lhw91/p/6591726.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!