千年零一虫

 

       前不久给某公司编写了一个统计软件,用的是VB6.0+Access97数据库,在Windows2000下调试,所有功能正常,并无明显BUG。于是发行。。。。。。
       过了一个月之后,用户反映:在按日起统计功能中发现每个月12日之前的数据没有被统计出来。感到很奇怪。拿回来调试,一切正常,并不像他们所说的每个月12日之前的数据没有统计。于是到实地考察。果真由此问题,可是将其完整拿到我这里的系统中仍然是正常的。*?* 于是分析我们之间的系统有和不同。我们用的是Win2000,用户用的是Win98。于是找到一台98,发现故障。可是仔细看程序,没有什么地方写错,而且在2000下可以正常工作。于是仔细分析了数据库,发现在98中Access97数据库中的日期型数据使用yy/mm/dd的形式,可是按照微软的解释,年份在45年以前被认定为20XX年,不应有任何问题啊?可是拿到数据库操作窗口当中,发现年份被修改了。比如2001-4-12,存储形式为01/04/12,可是被系统改为12/04/01,这样程序读出的时间是2012-4-1。可是01/04/13系统却认为是2001-4-13,这是正确的。在windows2000下去没有这样的问题,所以出现了上述的情况。
       如何解决呢?经过多次试验,将手工输入的年份用Format函数改写成dd/mm/yy格式就可以解决这一问题。原因很奇怪,Windows98对每个于13日之后的日期可以用两种方式表达。即yy/mm/dd和dd/mm/yy这两种格式都可以被正确识别,每个月12日之前的日期只能是dd/mm/yy格式。可使用这种方式写出来的程序去不能在Windows2000中文版下正常运行(E文的没试过)。所以要想能够兼容2000必须判断操作系统类型,然后用不同的格式。这个老盖把win98的千年虫杀死了,可是他去没有杀死千年零一虫。不知还有没有千年另一十虫,由于那个软件2010年就到期,所以由于匆忙也就没有进行测试,那位网友感兴趣,可以测试一下,结果告诉我!
  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

jinshisoft

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值