ios-时间换算

经常会遇到时间转换的,在此收藏一个时间换算的方法?

 1 #pragma mark 时间换算
 2
 3 + (NSString *)setcreateTime:(NSString *)str
 4 {
 5     //yyyy-MM-dd- HH:MMss"];
 6
 7
 8     NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
 9
10     //[formatter setDateStyle:NSDateFormatterMediumStyle];
11
12     //[formatter setTimeStyle:NSDateFormatterShortStyle];
13
14     [formatter setDateFormat:@"yyyy"];
15
16     [formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"CCT"]];
17
18     NSDate *date = [NSDate dateWithTimeIntervalSince1970:[str doubleValue]];
19
20     NSString *dateStr = [formatter stringFromDate:date];
21
22     //本地时间
23     NSDate * senddate=[NSDate date];
24     NSDateFormatter * dateformatter=[[NSDateFormatter alloc] init];
25     [dateformatter setDateFormat:@"YYYY"];
26     NSString * locationString=[dateformatter stringFromDate:senddate];
27
28     //[dateformatter setDateFormat:@"YYYY-MM-dd-HH-mm-ss"];
29
30     //判断创建时间 与 本地时间 是否同一年
31     if ([dateStr isEqualToString:locationString]) {
32         [formatter setDateFormat:@"MM-dd HH:mm"];
33     }else{
34         [formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
35     }
36
37     date = [NSDate dateWithTimeIntervalSince1970:[str doubleValue]];
38     dateStr = [formatter stringFromDate:date];
39
40     return [self compareCurrentTime:date :dateStr];
41 }
42
43 + (NSString *) compareCurrentTime:(NSDate*) compareDate :(NSString *)str
44 {
45     NSTimeInterval  timeInterval = [compareDate timeIntervalSinceNow];
46     timeInterval = -timeInterval;
47     long temp = 0;
48     NSString *result;
49     if (timeInterval < 60) {
50         if (timeInterval > 1) {
51             result = [NSString stringWithFormat:@"%d秒前",(int)timeInterval+1];
52         }else if (timeInterval < -160){
53             result = str;
54         }
55         else{
56             result = [NSString stringWithFormat:@"%d秒前",1];
57         }
58
59     }
60     else if((temp = timeInterval/60) <60){
61         result = [NSString stringWithFormat:@"%ld分钟前",temp];
62     }else{
63         result = str;
64     }
65
66
67
68     return  result;
69 }

时间: 2024-10-31 01:08:20

ios-时间换算的相关文章

iOS时间问题

iOS时间问题 在iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等.解决办法网上比比皆是,但大多零零散散,很多资料并没有说明其中问题.这里集中总结一下,以便于以后查阅和供大家参考.有我自己的理解,错漏之处请大家吐槽. NSDate的8小时问题 NSDate转字符串时间 初始化一个NSDate时间[NSDate date],获取的是零时区的时间(格林尼治的时间: 年-月-日 时:分:秒: +时区),而北京时间是东八区时间,因为时区不同,所以打印的时间相差了8小时

第2周作业第1题 时间换算

1 时间换算(5分) 题目内容: UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8.现在,你的程序要读入一个整数,表示BJT的时和分.整数的个位和十位表示分,百位和千位表示小时.如果小时小于10,则没有千位部分:如果小时是0,则没有百位部分:如果分小于10分,需要保留十位上的0.如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分. 有效的输入范围是0到2359,即你的程序不可能从测试服务器读到0到2359以外的输入数据. 你的程序要输出这个时间

程序设计入门——C语言 第2周编程练习 1时间换算(5分)

1 时间换算(5分) 题目内容: UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8.现在,你的程序要读入一个整数,表示BJT的时和分.整数的个位和十位表示分,百位和千位表示小时.如果小时小于10,则没有千位部分:如果小时是0,则没有百位部分:如果小时不是0而分小于10分,需要保留十位上的0:如果小时是0而分小于10分的,则不需要保留十位上的0.如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分. 有效的输入范围是0到2359,即你的程序不可能从

C++编程音视频库ffmpeg的pts时间换算方法

ffmpeg中的pts,dts,duration时间记录都是基于timebase换算,我们主要分析下pts的时间怎么换算,其它的是一样的换算.ffmpeg的时间换算对许多新接触同学算是一个大坑,很多刚接触ffmpeg的同学都不容易搞清楚它的时间计算方法. 我们先看下ffmpeg时间是怎么算的: 一帧图像(音频)的时间戳(时间戳一般以第一帧为0开始)= pts * (AVRational.num/AVRational.den) 为什么要这么算(挖坑)我们看下ffmpeg的说明: "当有理数用浮点数

iOS时间格式化的方法

**iOS时间格式化方法** //时间转换方法 //    long nowT = time(NULL);  获取当前时间 - (NSString *)revertTimeFormat:(long)timesp{     NSDate *data = [NSDate dateWithTimeIntervalSince1970:timesp];//获得data          NSDateFormatter* formatter = [[NSDateFormatter alloc] init];

C语言程序设计_zju——第3周编程练习1_时间换算

1 时间换算(5分) 题目内容: UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8.现在,你的程序要读入一个整数,表示BJT的时和分.整数的个位和十位表示分,百位和千位表示小时.如果小时小于10,则没有千位部分:如果小时是0,则没有百位部分:如果小时不是0而分小于10分,需要保留十位上的0:如果小时是0而分小于10分的,则不需要保留十位上的0.如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分. 有效的输入范围是0到2359,即你的程序不可能从

中国大学MOOC-C程序设计(浙大翁恺)—— 时间换算

时间换算(10分) 题目内容: UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8.现在,你的程序要读入一个整数,表示BJT的时和分.整数的个位和十位表示分,百位和千位表示小时.如果小时小于10,则没有千位部分:如果小时是0,则没有百位部分:如果小时不是0而分小于10分,需要保留十位上的0:如果小时是0而分小于10分的,则不需要保留十位上的0.如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分. 有效的输入范围是0到2359,即你的程序不可能从测

iOS 时间校准解决方案

背景 在 iOS 开发中,凡是用到系统时间的,都要考虑一个问题:对时.有些业务是无需对时,或可以以用户时间为准的,比如动画用到的时间.一些日程类应用等.但电商相关的业务大都不能直接使用设备上的时间,而是需要跟服务器校准后的时间,例如: 区间判断:一些优惠促销活动需要在 app 端判断当前是否在活动期间内.如果用户设备时间不准,会给用户错误的信息,导致投诉. 倒计时:各种秒杀.限时促销.未支付订单的失效等的倒计时.如果用户设备时间不准,会带来倒计时结束后刷新页面,状态没变化的问题.可以测试一下电商

时间换算

题目内容: UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8.现在,你的程序要读入一个整数,表示BJT的时和分.整数的个位和十位表示分,百位和千位表示小时.如果小时小于10,则没有千位部分:如果小时是0,则没有百位部分:如果小时不是0而分小于10分,需要保留十位上的0:如果小时是0而分小于10分的,则不需要保留十位上的0.如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分. 有效的输入范围是0到2359,即你的程序不可能从测试服务器读到0到23

iOS时间格式的转换

在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理. 例如: //实例化一个NSDateFormatter对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //设定时间格式,这里可以设置成自己需要的格式 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //用[NSDate d