Excel/Labview时间戳转日期时间,或日期时间转双精度浮点,原理与公式
用于数据处理表格中带有时间和日期参数的精度浮点值
。
1. 获取或记录当前时间
在Labview中使用时间模块的Get time控件,能够获取VI运行时日期时间。在使用表格控件记录连续的数据和对应的时间轴,通常用到以下两个控件。
为了能够直观显示当前日期和时间变化,一般会直接连接显示控件current time。
图2
运行后,显示当前时间和日期。
2. Labview中当前日期和时间转化为毫秒级的双精度浮点。
为方便以相同格式存放到表格中,上述一般通过转为双精度浮点值的控件To double precious,转为和其他数据相同的格式。该控件在“数字”→“转换”模块下
将该控件与图2中相连接,可以得到转化后的结果。
转化后的值,如下
3. Labview中将双精度浮点值转化为日期时间
在labview中,仍然可以使用“时间”模块下的to timestamp控件,来重新转为时间戳。
观察time stamp显示控件的结果可以看到,双精度浮点的日期时间,又转回日期和时间。
4. 解决表格中数据转化为日期时间的问题
Labview中表格控件暂没有同时存储日期时间和双精度数据功能,也无同时存储日期字符串和数据功能
。
1 在Labview中使用时间模块的Get time控件,能够获取VI运行时日期时间。在使用表格控件记录连续的数据和对应的时间轴,通常用到以下两个控件。
为了解决这个问题,上面2部分已经完成了日期时间和数据的格式统一。下面只需要把处理表格在中的双精度浮点时间数据,将其转化为日期时间戳的格式即可。
表格中把日期和时间转为双精度浮点,excel采用如下公式:
=(A1-DATE(1904,1,1))*86400-8*3600
将1904/01/01 08:00:00.000
,转化为00000000000000.000
。将其转回需用
=TEXT((A2+8*3600)/86400+4*365+2,"yyyy-mm-dd hh:mm:ss.000")
即可将00000000000000.000
,转为1904/01/01 08:00:00.000
,这里这个日期 时间
为设置的原点时间。