对,我也有同感。
定义一个date类型,只是一个短日期型。无奈。

解决方案 »

  1.   

    这和系统设置有关,在控制面板的区域设置的日期中设置为"yyyy-mm-dd"
    你也可以修改注册表来达到目的
      

  2.   

    VB虽然是相同的版本,但是,VB需要操作系统的底层支持。由于98和2000的系统函数和API不同,VB在安装的时候能了解它运行在什么操作系统上。尤其是当你安装了SP3之后。
    所以,如果要在98上运行,就一定要在98下编译,在2000上也是一样
      

  3.   

    的确是这样,不仅仅是日期。有的控件也会发生这种问题,比如ActiveSkin3.64。不同的OS必须分别编译,否则98编译的2000可以用,2000编译的98不能用。但是奇怪的是我们办公室的98却可以使用在2000上编译的程序?!
      

  4.   

    只能在WIN98和OFFICE97的机子上编译才可以在所在WINDOWS机上使用.有些机子没有ADO的,可能还要装MDAC.这并不只是日期的问题,是兼容问题.
      

  5.   

    我遇到过,确实跟机器的区域时间设置有关!
    如果你想通用的话,必须在程序里用Year、Month、Day、Hour、Minite、Second等函数单独取出来,再重新组合生成。
    如:
    myDate=Year(dtpicker.value) & Month(dtpicker.value) & Day(dtpicker.value)
      

  6.   

    那winme呢?它属于那一类,好象98和2000编译的在它下面没有什么分别,都可以运行!
      

  7.   

    其实时间的问题到不重要,重要的是一些在win2000下运行很好的到98下就不灵了,而且还有错误。但是winme却可以使98编译和2000编译的良好运行。谁能具体解释一下,winme到底是什么内核的。
      

  8.   

    但时间的长短和系统没关系,不论是98还是2000,系统设置是长时间,VB的DATE就是长时间,系统设置是短时间,VB的DATE就是短时间,这在98、2000里都一样。
      

  9.   

    longdata=format(now,"yyyy-mm-dd hh:mm:ss")就可以了