我正在寻找帮助使用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幅度数量获得10月日期提出建议吗?