vb 时间函数的问题

来源:百度知道 编辑:UC知道 时间:2024/09/21 08:14:29
我用text控件来输入一个年份,然后在用format来格式话,但是为什么输出总是1905呢
format(text1.text,"yyyy")这样不可以吗?
我用year(text1.text) 也不行的说
我把代码贴出来
Private Sub Command1_Click()
Dim y As Date

MsgBox Year(Text1.Text)
End Sub

Private Sub Form_Load()
Text1.Text = ""
End Sub
那我只要年份就够了,要怎么做
这些代码我只是用来看看输出的值是多少,其实我还要用到数据库里去的
strSQL = "Select * From A where Date =#" & Format(t, "yyyy") & "这句话就变成select * from A where date=1905 了,但是t=2007 不知道是什么原因呢.

不行的..你这种格式本身就不是标准的日期格式..你应该补齐月和日才能用fomart来格式化成日期

print Format("2005" & "-01-01","yyyy")

print Format(Text1 & "-01-01","yyyy")

format(cdate(text1.text),"yyyy")
这样才可以,必须先将值转换为日期形式

我搞不明白,如果你只想从text输入年而不输入日月,那你干嘛用Format,你还不如直接用:
MsgBox val(Text1.Text)

如果你非要用Format,就必须保证输入8位数字

MsgBox FormatDateTime("2005-01-05", 1)

为什么要这样呢?VB本身不是有Year 函数吗?直接用不是更简单!