对于一个日期型变量,如果给它赋一个字符串(比如“8-9-2008”),如何识别哪部分是日,哪部分是月呢?
-----------------------------
我主要想问,VB自已是如何判断的。因为象"8-9-2008",其中年很容易判断出来,因为年是4位。
但是月和日如何区分呢?
也可能是:
月-日-年

日-月-年所以对于日期型变量而言,它是2008年8月9日呢?还是2008年9月8日。dim d1 as date
d1="8-9-2008"

解决方案 »

  1.   

    VB会根据你操作系统的格式来确定。
    你可以到DOS下用DATE命令看一下。 或者到你的系统控制面板中看具体的设置。
      

  2.   

    VB中可以用format语句对数据格式化,对日期格式,VB默认是'mm-dd-yyyy',可以用format改为d1=format("8-9-2008",'yyyy-mm-dd'),输入的结果是2008-8-9
      

  3.   


    实际上,是根据操作系统的“区域设置”来解释日期格式的。如果你想知道当前是如何设置的:MsgBox Format("8-9-2008", "yyyy-mm-dd")
      

  4.   

    为什么问这个问题呢?这就涉及到程序的通用性问题,
    比如一个局域网上多台机器访问数据库。即一个c/s模式的管理系统。VB+sql开发的。
    对于数据库中的一个日期变量(假如数据库表中用字符型表示日期,形如“8-9-2009”这种字符串)
    我在客户机上的VB开发的管理系统上,如果用cdate()函数将这个字串解释成日期时,则根据每台机器的不同而返回不同的月份或日期,有的机器表示8月9日,有的机器表示9月8日,实际开发中,如何避免这个问题出现呢?