如何计算时差怎么计算

主题 : 时间差的计算
级别: 新手上路
UID: 517044
可可豆: 60 CB
威望: 55 点
在线时间: 149(时)
发自: Web Page
来源于&&分类
时间差的计算&&&
请教大神 ios 中时间差怎样计算例如  09:00     与    11:00   
级别: 精灵王
UID: 496016
可可豆: 2277 CB
威望: 1762 点
在线时间: 937(时)
发自: Web Page
你说的是时区之间的时差还是两个时间点之间的时间差呀
你好,旅行者
级别: 侠客
UID: 545089
可可豆: 175 CB
威望: 147 点
在线时间: 222(时)
发自: Web Page
时间戳[[NSDate date] timeIntervalSince1970]
我时常去回忆过去,不是因为你,只是为了想起那些明媚的阳光
级别: 新手上路
UID: 517044
可可豆: 60 CB
威望: 55 点
在线时间: 149(时)
发自: Web Page
回 1楼(Counting) 的帖子
两个时间点之间的时差例如: 09:00&&到
13:00 请教大神该如何处理!
级别: 骑士
UID: 496710
可可豆: 765 CB
威望: 641 点
在线时间: 762(时)
发自: Web Page
NSDateFormatter * df = [[NSDateFormatter alloc] init];
    df.dateFormat = @&yyyy-MM-dd HH:mm&;
    
    NSString * dateString1 = @& 09:00&;
    NSString * dateString2 = @& 11:00&;
    
    NSDate * date1 = [df dateFromString:dateString1];
    NSDate * date2 = [df dateFromString:dateString2];
    
    
    NSTimeInterval time = [date2 timeIntervalSinceDate:date1]; //date1是前一个时间(早),date2是后一个时间(晚)
    
    NSLog(@&time = %f&, time); // 结果就是两个时间点之间相差的秒数,如果要精确时间,修改NSDateFormatter的形式,并把两个时间对应调整就行
打印结果:time = 000
iOS App Icon生成器:/Kito0615/AppIconAutoMaker
级别: 精灵王
UID: 496016
可可豆: 2277 CB
威望: 1762 点
在线时间: 937(时)
发自: Web Page
回 3楼(QS_Ren) 的帖子
你好,旅行者
级别: 新手上路
UID: 531175
可可豆: 49 CB
威望: 28 点
在线时间: 60(时)
发自: Web Page
// 1.确定时间
&&&&NSString *time1 = @& 12:18:15&;
&&&&NSString *time2 = @& 10:10:10&;
&&&&// 2.将时间转换为date
&&&&NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
&&&&formatter.dateFormat = @&yyyy-MM-dd HH:mm:ss&;
&&&&NSDate *date1 = [formatter dateFromString:time1];
&&&&NSDate *date2 = [formatter dateFromString:time2];
&&&&// 3.创建日历
&&&&NSCalendar *calendar = [NSCalendar currentCalendar];
&&&&NSCalendarUnit type = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitS
&&&&// 4.利用日历对象比较两个时间的差值
&&&&NSDateComponents *cmps = [calendar components:type fromDate:date1 toDate:date2 options:0];
&&&&// 5.输出结果
&&&&NSLog(@&两个时间相差%ld年%ld月%ld日%ld小时%ld分钟%ld秒&, cmps.year, cmps.month, cmps.day, cmps.hour, cmps.minute, cmps.second);
级别: 新手上路
UID: 517044
可可豆: 60 CB
威望: 55 点
在线时间: 149(时)
发自: Web Page
回 6楼(Singed) 的帖子
感谢大神!
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版查看: 7942|回复: 12
时间差如何计算?
求职 : 认证徽章论坛徽章:265
如下图,今天在计算两个时间差时发现如下情况,在日期相同的情况下,送检时间在检验开始时间之前,两者的差不是负值,而是会自动在检验开始时间上加上24在减去送检时间。
这是为什么?如果在考虑日期的情况下,如何更准确的计算出时间差呢?
(3.52 KB, 下载次数: 23)
11:55 上传
论坛徽章:8
没太看明白,那个应该是自己写的报表吧,下面这个Function是计算时间差的,second返回的是单位为秒的时间,hours返回是小时的时间,自己再转换一下就好了
& &&&CALL FUNCTION 'SRET_TIME_DIFF_GET'
& && &&&EXPORTING
& && && & utc_start& && & = utc_start
& && && & utc_end& && && &= utc_end
& && &&&IMPORTING
& && && & second& && && & = second
& && && & hours& && && &&&= hours
求职 : 认证徽章论坛徽章:265
原帖由 AriesLei 于
12:26 发表
没太看明白,那个应该是自己写的报表吧,下面这个Function是计算时间差的,second返回的是单位为秒的时间,hours返回是小时的时间,自己再转换一下就好了
& &&&CALL FUNCTION 'SRET_TIME_DIFF_GET'
& && &&&EXPORTING
& && && & utc_start& && & = utc_start
& && && & utc_end& && && &= utc_end
& && &&&IMPORTING
& && && & second& && && & = second
& && && & hours& && && &&&= hours
呵呵,表达能力不好!报表是自己开发的,现在的问题是在计算‘送检到开始检验的用时 = 检验开始时间 - 送检时间’,目前送检时间 & 检验开始时间 ,得出的差值不是 -02:21:32 ,
却是 检验开始时间+24 - 送检时间= 21:38:28 ,为什么检验开始时间会自动加上24呢?你提出的这个函数没有考虑到日期,如果日期相差的话,要将差额加在时间差上。
哈哈,不知道这次有没有表达清楚!
论坛徽章:20
因为时间本身就没有负值。
你只能这样计算:
if 送检时间 & 检验开始时间
&&result =&&送检时间 - 检验开始时间
&&concatenate '-' result into result.
论坛徽章:8
原帖由 houbao408 于
12:34 发表
呵呵,表达能力不好!报表是自己开发的,现在的问题是在计算‘送检到开始检验的用时 = 检验开始时间 - 送检时间’,目前送检时间 & 检验开始时间 ,得出的差值不是 -02:21:32 ,
却是 检验开始时间+24 - 送检时间= 21:38:28 ,为什么检验开始时间会自动加上24呢?你提出的这个函数没有考虑到日期,如果日期相差的话,要将差额加在时间差上。
哈哈,不知道这次有没有表达清楚!
这次明白了
这个函数必须是开始时间小于结束时间,最开始的时候必须判断,然后你肯定没有看这个函数,因为这个函数的参数是日期+时间,所以是可以解决你的问题的
求职 : 认证徽章论坛徽章:265
原帖由 suke886 于
13:04 发表
因为时间本身就没有负值。
你只能这样计算:
if 送检时间 & 检验开始时间
&&result =&&送检时间 - 检验开始时间
&&concatenate '-' result into result.
貌似不行,首先,result是时间类型的数据,时间类型的只有6位,前面加上“-”的话会将最后一位挤掉;
其次,如果result是字符类型的,那么送检时间 - 检验时间的值付给一个非T类型的数据结果不再是时间类型的结果,还要再次转化成时间类型,挺麻烦的!
呵呵,有更好的方式处理吗?
[ 本帖最后由 houbao408 于
13:58 编辑 ]
求职 : 认证徽章论坛徽章:265
原帖由 AriesLei 于
13:13 发表
这次明白了
这个函数必须是开始时间小于结束时间,最开始的时候必须判断,然后你肯定没有看这个函数,因为这个函数的参数是日期+时间,所以是可以解决你的问题的
额?utc_start,utc_end这两个参数不是开始时间和结束时间的参数吗?哪个是指日期?
那如果开始时间大于结束时间呢?有比较好的解决方式吗?
论坛徽章:8
原帖由 houbao408 于
13:38 发表
额?utc_start,utc_end这两个参数不是开始时间和结束时间的参数吗?哪个是指日期?
那如果开始时间大于结束时间呢?有比较好的解决方式吗?
DATA utc_end LIKE tzonref-tstamps.
CONCATENATE sy-datum sy-uzeit INTO UTC_end.
现在明白了?utc_start和utc_end分别是开始日期+开始时间 和 结束日期+结束时间
本来时间就没有正负的,只是判断一下,也还好吧。
我觉得你再想想,代码应该很容易写出来了
求职 : 认证徽章论坛徽章:265
原帖由 AriesLei 于
16:20 发表
DATA utc_end LIKE tzonref-tstamps.
CONCATENATE sy-datum sy-uzeit INTO UTC_end.
现在明白了?utc_start和utc_end分别是开始日期+开始时间 和 结束日期+结束时间
本来时间就没有正负的,只是判断一下,也还好吧。
我觉得你再想想,代码应该很容易写出来了
谢谢指教,学习了!
我用最土的方式解决了!
(3.64 KB, 下载次数: 25)
16:36 上传
求职 : 认证徽章论坛徽章:265
原帖由 AriesLei 于
13:13 发表
这次明白了
这个函数必须是开始时间小于结束时间,最开始的时候必须判断,然后你肯定没有看这个函数,因为这个函数的参数是日期+时间,所以是可以解决你的问题的
SCSM_TIME_DIFF_GET
这个函数可以计算开始时间小于结束时间的情况
itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有    
 北京市公安局海淀分局网监中心备案编号:10 广播电视节目制作经营许可证:编号(京)字第1149号如何计算时间窗口_中华文本库
第1页/共3页
如何计算时间窗口
时间之窗可能很多朋友都了解其含义,但如何正确地应用时间之窗,并不是所有朋友都了解,今天和大家谈谈时间之窗的正确应用。
时间之窗是周期的一种应用方法,周期的使用,不同的学说和不同的技术分析工具都有不同的使用方法,波浪理论中应用的周期是以菲波纳奇数例为基础的,而江恩理论里面,周期的划分和应用又有他独特的界定。我们常说的时间之窗实际是波浪理论里面常用的菲波纳奇数例,菲波纳奇数例是一个最简单的数字123为基本数列的,把这个简单的数例的后两位数字不断相加, 1+2=3 2+3=5 3+5=8 5+8=13 8+13=21 13+21=34 21+34=55 34+55=89 55+89=144就可以得出菲波纳奇数例3、5、8、13、21、34、55、89、144……以至无穷。
那这个数例有什么用处呢?我们在分析价格走势时,都希望能提早发现走势的拐点,也就是顶底,而实战中,一些重要的顶对顶的时间、底对底的时间、顶对底的时间,底对顶的时间大都出现在这个数例的数字上,比如我们常看到一个价格走势的顶对应前面的一个高点经常是34天55天,或者13周21周等等,或者一个趋势从最低点启动,在13周、21周、34周或者55周的地方趋势结束。所以在一个趋势的运行过程中,我们就会密切注意那些可能出现拐点的时间,一般就把那些容易出现拐点的地方称作时间之窗,时间之窗基本上就成了菲波纳奇数例的代名词。
时间之窗的基本理论不难理解,但它的实战应用却有一定的技巧。 首先,时间之窗的周期分析是从属于波浪理论里面的一种方法,波浪理
第1页/共3页
寻找更多 ""如何计算时间差? - ITeye问答
比如 :
d1="";
d2="";
他们的天数相差15天,
怎么计算他们的时间差?
问题补充:redstarofsleep 写道可以用Date对象的compareTo方法进行比较。
或者是Calender对象,先用getTimeInMillis()方法转换成毫秒数,然后相减,再换算成天,就知道差了几天了
具体代码 怎么写啊?
问题补充:代码怎么写啊?chenxiang105 写道获得两个时间段毫秒数 使用大数接收 相减后 //24 结果就是天数了.
最笨的办法.
好办法是去用 Calendar 类处理吧.
看看Calendar的方法你就知道算起来很easy了
采纳的答案
&& static Calendar getCalendar(String time)
&&& {
&&&&&&& if (null == time)
&&&&&&& {
&&&&&&&&&&&
&&&&&&& }
&&&&&&& String[] times = time.split("-");
&&&&&&& Calendar calendar = Calendar.getInstance();
&&&&&&& calendar.set(Integer.valueOf(times[0]), Integer.valueOf(times[1]), Integer.valueOf(times[2]));
&&&&&&&
&&& }
&&&
&&& public static void main(String[] args)
&&& {
&&&&&&& String startTime1 = "";
&&&&&&& String startTime2 = "";
&&&&&&& Calendar c1 = getCalendar(startTime1);
&&&&&&& Calendar c2 = getCalendar(startTime2);
&&&&&&&
&&&&&&& System.out.println("相差天数:"
&&&&&&&&&&&&&&& + (c2.getTimeInMillis() - c1.getTimeInMillis())/*24;
}
Calendar beginDate = new GregorianCalendar();
Calendar endDate = new GregorianCalendar();
long day = (endDate.getTimeInMillis() - beginDate.getTimeInMillis())/;
获得两个时间段毫秒数 使用大数接收 相减后 //24 结果就是天数了.
最笨的办法.
好办法是去用 Calendar 类处理吧.
看看Calendar的方法你就知道算起来很easy了
可以用Date对象的compareTo方法进行比较。
或者是Calender对象,先用getTimeInMillis()方法转换成毫秒数,然后相减,再换算成天,就知道差了几天了
已解决问题
未解决问题09-2109-2109-2109-2109-2109-2109-2109-2109-2109-21最新范文01-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-01

我要回帖

更多关于 时差怎么计算 的文章

 

随机推荐