日期类型是一种难以表达的类型,也许有的人说是用某年某月某日的表达方法不是很简单吗,但是计算机语言是无国界的,有的国家是用12/30/2010来表达2010年12月31日,有的国家则是用2010-12-30来表达,所以采用字符串的方式来描述是难以行得通的。
TSL中采用数字来描述的日期类型,具体规则如下:
整数部分表示自从1899年12月30日以来经历的天数,小数部分表示一天中均匀的分割24小时的时间所形成的时间。
例如:
0表示1899年12月30日0:00
2.75表示1900年1月1日下午6:00
-1.25表示1899年12月29日6:00
要得到一个指定日期的日期值,可以通过如StrToDate('2002-1-1')的方法获得。
如果要显示一个日期型,请参考相关函数,如DateToStr,DateTimeToStr等
TSL还支持20101231.0931T表达2012年12月31日9点31分。
采用这样的方式,历史和未来的任何一天的时间都可以很容易地表达。这种表达方式也是一种国际标准,像Object pascal语言,Excel等通用开发语言和工具中的日期类型也都采纳了这个标准。
其他语言的日期时间表达方式
有的语言和TSL的日期表达相近,也是从某天以来的天数,但是基准时间点不同,例如MATLAB的时间和TSL语言的时间相差一个常量。有的语言采用从某个时间点以来发生的秒数作为日期时间的表达方式,这种表达除了基点0不同以外,一天的表达也相差了24*3600倍。还有的语言,日期不是采用数据方式。例如JAVA这种语言,就是采用“对象”来表达日期的。