有沒有對時間進行四則運算的好演算法?
時間真的是很特殊,秒和分個位都是十進位,十位卻都成了六進位,時又變會了十進位。時間只有24個小時,計算角度最大是360°,更難算了。每回做實驗涉及到時間,角度的絕對值,平均值還有正負的混合運算,都會亂套。
加減乘除,時間或角度的四則運算有沒有特別好用的演算法?
時間戳,只考慮秒,也沒有進位的問題
有啊 時間戳
取1970年1月1日零時零分零秒到需要描述的時間的毫秒數
直接做加減就好了
個位是十進位,十位卻成了六進位……那不就是六十進位嗎……
沒有什麼銀彈,時間換算該怎麼算就是怎麼算,比如秒/毫秒/微秒等按千進位算,時/分/秒按六十進位算,天/時按二十四進位算,年份注意閏年的存在等等。
首先確定你獲取的初始數據是什麼單位,然後確定要轉換成什麼單位,最後按對應規則轉換就是了。
這個題吧,看著複雜,高深,其實都是想多了。
- 有年月日時分秒的數據,不可能做乘除法,哪有什麼四則運算。那是一個時間點,今天乘明天是什麼意思?除是什麼意思?只有加減法,各位上自己計算就對了,算完統一規整一下。
- 只有部分單位的數據,比如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秒。絕對時間與時間間隔還可以做加減運算。
推薦閱讀: