在Foxpro下解决2000年问题的具体方法

Author: 陆嘉山 Date: 1997-01-01

  1.将日期字段全部定义为字符字段,长度为10。
  2.若要使用中国日期格式,可在程序开头加一句:
  SET DATE ANSI
  3.输入日期数值时,年份一律用4位数。如:
  1999.12.31,2000.01.01。
  4.运算时,把CTOD()函数写入表达式,即先把该字符型字段转换为日期型再进行运算。如:
  DA1='1999.12.31'
  DA2='2000.01.01'
  年份值:YEAR(CTOD(DA1))=1999,YEAR(CTOD(DA2))=2000
  CTOD(DA2)-CTOD(DA1)=1(天)
  结果正确。至此,完满地解决了2000年问题。
  而如果仍把DA1、DA2定义为日期型字段,则长度自动固定为8,如:
  DA1=CTOD('99.12.31')
  DA2=CTOD('00.01.01')
  年份值:YEAR(DA1)=99,YEAR(DA2)=00
  DA2-DA1=-36523(天)
  结果出错!
  (此法在不支持2000年的386微机上启动Foxpro 2.6的情况下运算通过。)