作为一种面向工程应用的编程语言,LV提供了非常丰富的时间操作函数。8.X后又提出了新的有关时间的数据类型,时间标识(TIMESTAMP)。时间标识早期通常翻译成“时间戳”,实际上是一种改进型的数值控件,从时间标识控件所在的控件选板就可以初步判断出,时间标识就是特殊的数值控件。
一、时间标识的内存映射
要想真正了解一种数据类型,首要的问题是要搞清楚该数据类型在内存中或者文件中是如何存储的。我们知道数值型控件可以选择控件所包含的数据类型,比如双精度浮点数、整型数、32位整型数、16位整型数等等。
时间标识控件是不允许选择它所包含的数据类型的,这说明时间标识所包含的数据类型是固定的。从帮助文件中,我们可以找到时间标识在内存中的存储方式--映射。
LabVIEW将时间标识保存为一个含四个整数的簇,其中前两个带符号整数(64位二进制)表示自1904年1月1日周五凌晨[01-01-1904 00:00:00]以来无时区影响的所有秒数。后两个不带符号整数(64位二进制)表示小数秒部分。
LV利用16个字节(128位)表示时间信息,其中前8个字节(64位)由两个I32构成,表示从0时刻开始经历过的秒数。后面8个字节为U64数据,表示秒的小数