时间真的是很特殊,秒和分个位都是十进位,十位却都成了六进位,时又变会了十进位。时间只有24个小时,计算角度最大是360°,更难算了。每回做实验涉及到时间,角度的绝对值,平均值还有正负的混合运算,都会乱套。

加减乘除,时间或角度的四则运算有没有特别好用的演算法?


时间戳,只考虑秒,也没有进位的问题


有啊 时间戳

取1970年1月1日零时零分零秒到需要描述的时间的毫秒数

直接做加减就好了


个位是十进位,十位却成了六进位……那不就是六十进位吗……

没有什么银弹,时间换算该怎么算就是怎么算,比如秒/毫秒/微秒等按千进位算,时/分/秒按六十进位算,天/时按二十四进位算,年份注意闰年的存在等等。

首先确定你获取的初始数据是什么单位,然后确定要转换成什么单位,最后按对应规则转换就是了。


这个题吧,看著复杂,高深,其实都是想多了。

  1. 有年月日时分秒的数据,不可能做乘除法,哪有什么四则运算。那是一个时间点,今天乘明天是什么意思?除是什么意思?只有加减法,各位上自己计算就对了,算完统一规整一下。
  2. 只有部分单位的数据,比如1分钟,1小时,一天半这样,它的乘除法等于各单位自己运算。24小时常用吧?36小时也听过吧,10分种测量一次,测10次,用100分钟,没有人口算成1小时40分。

其它非十进位的数,都是一样的,它的关键不在于它是几进位,而是单位的物理含义不一样。大部分只需要在同一个单位下计算就好了。

主要可能的问题是,这些单位有时太小或太大了,比如秒,我要表示几天的秒间隔,它就太小了。这里我需要一个特殊的单位。比如GPS中用周+秒来度量,这个秒能表示比较大的范围。

大部分不规则的单位都是为了实用,比如60进位,它是2,3,4,5,6,12, 15,20,30的倍数,非常适合除法。

再比如说海里,它是1.85公里,因为这是纬度一分(1/60度)对应的距离。知道方向角,三角函数就可以知道船的位置,通过特殊的计算尺可以直接量出经纬度,熟练的情况特殊数值下还可以口算。


有条件自己写个时间运算的程序就行了,又不难写,自己实在不会写找个计算机学院的同学帮你写一个也行,基本上十分钟就写出来吧


时间戳(Unix timestamp)转换工具?

tool.lu图标

输入时间,得到秒数。

前后两次,相减得到时差,单位是秒

除以60,转换单位


时间本身不具备四则运算的意义。但是,如果定义一个相对时间(时间间隔)的概念。那么就可以和纯数做四则运算了。

比如:3倍的4秒间隔就是12秒。

绝对时间与时间间隔还可以做加减运算。


推荐阅读:
相关文章