時間真的是很特殊,秒和分個位都是十進位,十位卻都成了六進位,時又變會了十進位。時間只有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秒。

絕對時間與時間間隔還可以做加減運算。


推薦閱讀:
相关文章