1970 matla 时间_关于matlab:UTC到字符串的转换时间
我正在尋找幫助使用MATLAB將時間從UTC時間轉換為字符串的時間。
我正在嘗試從2010年10月底收集的數據文件中提取時間。
數據文件說它以UTC時間報告,該字段是一個整數字符串值(以毫秒為單位),大約為3.02e11。我想將其轉換為字符串,但遇到了一些麻煩。
我發現單位絕對是毫秒,因此我將其轉換為幾天的一部分,以便與datenum格式兼容。
如果數據是在10月底(例如2010年10月31日)收集的,那么我可以猜得出我會得到什么樣的數字。我認為2001年1月1日將是一個很好的紀元,并計算出我可能得到的數字(以天為單位):
suspectedDate = datenum('October 31, 2010')
suspectedEpoch = datenum('January 1, 2001')
suspectedTimeInDays = suspectedDate - suspectedEpoch
結果是3590。
但是,我的實際時間(以天為單位)包含以下代碼
actualTime = 3.02e11
actualTimeInDays = 3.02e11/1000/24/3600
作為3495.4。
令人不安的是,兩者之間的差異僅為94.6,而不是一整年。這意味著該文件的文檔錯誤或該時期接近2001年4月1-5日:
calculatedEpoch = suspectedDate - actualTimeInDays
calculatedEpochStr = datestr(calculatedEpoch)
或者,如果時期是2001年1月1日,則文件中的實際日期是從7月底開始。
ifEpochIsJanuaryDate = suspectedEpoch + actualTimeInDays
ifEpochIsJanuaryDateStr = datestr(ifEpochIsJanuaryDate)
這是一種已知的UTC格式嗎?有人可以提供有關如何從3.02e11震級數獲取十月日期的建議嗎?
今天的Unix時間約為13e11,以1970年以來的毫秒數為單位。
如果您的時間約為3e11,則可能是從2000年開始。
>> time_unix = 1339116554872; % example time
>> time_reference = datenum('1970', 'yyyy');
>> time_matlab = time_reference + time_unix / 8.64e7;
>> time_matlab_string = datestr(time_matlab, 'yyyymmdd HH:MM:SS.FFF')
time_matlab_string =
20120608 00:49:14.872
筆記:
1)如果您的時間是從2000年開始,則將1970更改為2000;
2)參見matlab時間的定義。
3)8.64e7是一天中的毫秒數。
4)Matlab不應用任何時區偏移,因此結果是相同的UTC時間。
5)向后轉換的示例:
>> matlab_time = now;
>> unix_time = round(8.64e7 * (matlab_time - datenum('1970', 'yyyy')))
unix_time =
1339118367664
我從來沒有找到一個明確的答案,所以我將您的答案標記為最接近的答案。
@Steve,我想您最好的方法是詢問此值代表創建此數據的人員。 如果以毫秒為單位,則您有3.02e11 / 8.64e7 / 365 = 9.5764年,如果數據是在2010-10-31真正收集的,則不會提供任何線索
您不能只是彌補自己的時代。同樣,datenum以天為單位返回值。因此,您與數學的親密關系只是一個巧合。
原來是
>> datenum('Jan-1-0000')
ans =
1
和
>> datenum('Jan-1-0001')
ans =
367
因此,自0000年1月1日起,Matlab應該在幾天之內就可以歸還。(不是錯別字)
但是,我會仔細查看這個3.02e11數字,并確切地了解它的含義。我很確定這不是標準的Unix UTC,距離1970年1月1日應該是幾秒鐘了。它太大了。格林尼治標準時間(GMT)附近:格林威治標準時間11540年1月1日,星期一。
你絕對是對的。 我肯定知道數字中的LSB是毫秒,因此我們可以除以1000得到秒。 然后看來日期是2001年左右的某個時間。然后的問題是,提到4月還是4個月的轉移是否有意義。
從數學上看,整數是毫秒是令人懷疑的。 也許值得進一步研究這個數字的含義。 我認為今年四月的事情是巧合和追趕鵝。
總結
以上是生活随笔為你收集整理的1970 matla 时间_关于matlab:UTC到字符串的转换时间的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue项目接口地址暴露_vue项目打包后
- 下一篇: extjs重新激活grid_处理Extj