我的电脑的日期格式设置成了短日期格式“YY-DD-MM”,比如“06-09-15”,我希望表示的是“2006年9月15日”在SQL-SERVER数据库中可以正确的识别这种格式,但是在VB中通过format(date,"YYYY-MM-DD")函数转换却变成了“2009-06-15”也就是2009年6月15日,请问怎样使VB能正确的识别SQL中的形如“YY-DD-MM”的日期呢?

解决方案 »

  1.   

    Private Sub Command1_Click()
    Text1.Text = Format(Date, "yyyy-mm-dd")
    End Sub
      

  2.   

    用下面的这个function把“YY-MM-DD”格式的字符串转换成系统日期。
    Private Function chDate(s As String) As Date
        Dim y As Integer, m As Integer, d As Integer
        y = CInt(Left(s, 2))
        m = CInt(Mid(s, 4, 2))
        d = CInt(Right(s, 2))
        chDate = DateSerial(y, m, d)
    End Function
    然后你试试:
    MsgBox FormatDateTime(chDate("06-09-15"), vbLongDate)
    的结果是不是2006年9月15日?
      

  3.   

    以上各位对不起了,我说错了,我本来是说“YY-DD-MM”(06-09-15)这样的日期通过VB输出到到excel2000中会变成“2009-06-15”的形式,抱歉,抱歉!,请问这种问题怎么办?
      

  4.   

    你只有设置EXCEL格式才能办到。可以用程序打开EXCEL然后设置格式。
      

  5.   

    用FormatDateTime(date, vbLongDate)转换成"2006年9月15日"这样的形式,不管什么软件都不会搞不懂了。
      

  6.   

    我把EXCEL的格式设置盛了“yyyy-mm-dd”的形式了,并且在EXCEL中直接输入“06-09-15”它会识别为“2006-09-15”,只是通过VB输出到EXCEL中时会变成“2009-06-15”,这是为什么?
      

  7.   

    happy_sea(开心海) ( ) :那样也不成
      

  8.   

    你是怎麽導入的Execl啊? 不應該出現這樣的問題啊
      

  9.   

    用FORMAT()函数,在此就不多说了
      

  10.   

    用FORMAT()函数,在此就不多说了--------------不成
      

  11.   

    我是通过MsFHgrid表格输入到Execl的
      

  12.   

    把EXCEL设置一下单元格格式,VB中就直接用FORMAT就OK了!
      

  13.   

    "#" & Format(Text1.Text, "yyyy-mm-dd") & "#"
      

  14.   

    Text1.Text = Format(Date, "yyyy-MM-dd")
      

  15.   

    先格式化再输入EXCEL不就完了吗
      

  16.   

    控制面版 -- 区域和语言选项 搞的贵. 重新设置下或者你用year,month等函数把年月日分离出来, 然后 年 & "-" & 月 & "-" 日
      

  17.   

    Format(Date, "yyyy-MM-dd")
    是yyyy-MM-dd 不是YYYY-MM-DD