说明
基于指定的范围将日期时间值转换为 21 世纪日期时间值。
参数
dateTime:只接受有效的日期时间字段,年份为 2 位数或 4 位数。
定义为日期时间字段的数据库字段。“文件|报表选项”应设置为“将多个日期时间字段转换为“日期时间字段””。(此选项仅用于 6.0 版的 ODBC 数据源。)
CDateTime 函数 (CDateTime(yyyy, MM, dd, hh, mm, ss) )。该函数要求一个 4 位数年份。如果输入两位数,则将使用 00xx,例如:98AD。
Number:一个对应于所需时限年份的 0 到 99 之间的数字。
操作
2 位数年份 (xx)
如果 Year 值大于时限数字,将在这个 2 位数之前添加 19(即 19xx)。如果 Year 值小于或等于时限数字,将在这个 2 位数之前添加 20(即 20xx)。
4 位数年份 (19xx)
如果 Year 值中的最后两位大于时限数字,则 Year 保持为日期字段中所找到的那个值(即 19xx)。如果 Year 值中的两位数小于或等于时限数字,则前两位将更改为 20(即 20xx)。如果年份字段的前两位是 20,则 Year 保持为日期字段中所找到的那个值(即 20xx)。
注意: 如果年份小于等于 1899 并大于或等于 100,则日期不会更改。
示例
此处的时限值比年份大,因此它将更改为 20XX。
DateTimeTo2000(CDateTime(1998,12,12,3,2,1), 99)
应返回 2098/12/12 03:02:01
此处的时限值比年份小,因此不更改年份。
DateTimeTo2000(CDateTime(1995,1,2,3,2,1), 94)
应返回 1995/01/02 3:02:01。
其他示例
下面是一些不受该函数影响的日期示例。
DateTimeTo2000(CDateTime(1899,12,12,5,6,7), 99)
应返回 1899/12/12 5:06:07
DateTimeTo2000(CDateTime(999,12,12,5,6,7), 99)
应返回 999/12/12 5:06:07
一些数据库以两位字段保存日期的年份部分,这些示例将模拟该日期字段。
DateTimeTo2000(CDateTime (93,12,12,5,6,7), 96)
应返回 2093/12/12 5:06:07
DateTimeTo2000(CDateTime (98,12,12,5,6,7), 50)
应返回 1998/12/12 5:06:07
DateTimeTo2000(CDateTime (9,12,12,5,6,7), 10)
应返回 2009/12/12 5:06:07
DateTimeTo2000(CDateTime (2,12,12,5,6,7), 1)
应返回 1902/12/12 5:06:07。