2000问题(100分)

  • 主题发起人 zhouming2
  • 开始时间
Z

zhouming2

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾:
请问在Delphi4.0中如何全面解决2000问题,我已在BDE的Date中设置了
4位,但在Date()函数和TDBGrid构件的使用中,仍是98/01/01,不能显示
1998/01/01.
 
Date函数是取当前的系统时间,没有2000年问题。
DateToStr函数使用Windows系统的短时间格式进行输出,
时间格式在控制面板的区域设置中进行设置。一般情况下,
短时间格式年时2位的。
如果你想强制输出4位年份,可以使用formatdatetime函数,
它可以详细指定日期和时间的格式,如:
formateDateTime('yyyy/mm/d', date)就会显示4位的年。

数据库中日期字段的显示格式,其实不受BDE时间设置的控制(
不知道为什么),要想显示4位的年,需要在TABLE构件中
创建TABLE的TFIELD字段构件,在日期字段的显示格式属性(DisplayFormat)
中设为yyyy/mm/d,就会有4为的年了。
 
DecodeDate(Date: TDateTime; var Year, Month, Day: Word);
分解后合成!
 
设置控制面板中区域设置中的日期时间格式可解决你的问题。
 
修改control panel 中 regional settings 的时间格式,
注意是要修改short date style,至于long...就不用管了,
因为这些关于日期的格式都要用到短日期格式作参数,在
delphi1.0帮助中可以方便的找到说明这个事情的内容,
在win3.X中要修改win.ini [intl]中的短日期格式.
 
各位说的都对!
 
如果使用Ms sql Server 6.5 or 7.0,应该注意哪些问题? 谢谢!
 
应该没有问题,
1.设置计算机的区域设置,把时间改为四位;
2.FORMATDATETIME('YYYY/MM/DD',DATE);
3.双击TTABLE,把DATE性的FIELD的FORMAT改为'YYYY/MM/DD'
一切OK

解决NT4 的2KY问题,需要NT 4 SP4+OPTION PACK
 
设置一下对应字段的DisplayFormat即可.
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
934
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部