第二种情况:StartDate是Date类型,而同时你的计算机上默认的系统时间格式为“yyyy/mm/dd”,
尽管Format返回的是字符串型,但是VB饮食转换成了Date格式“yyyy/mm/dd”赋给了StartDate。
建议:
1、Date格式“yyyy/mm/dd”不影响运算,只有输出的时候才需要“yyyy-mm-dd”格式,可以不予理会。
2、如果你希望运算过程中也用“yyyy-mm-dd”格式,那就在系统中设置一下,很简单的。我在这里直接把程序打给你:
dim dDate as Date
'先把这个字符串的日期,转换为Date(日期)格式
dDate=CDate("2010-8-1")
'方法1 直接用Format的YYYY-MM-DD
Msgbox format(dDate,"YYYY-MM-DD") 'YYYY-MM-DD最好用大写字母
'方法2 手工组合
Msgbox format(Year(dDate),"0000") & "-" & format(Month(dDate),"00") & "-" & format(Day(dDate),"00")
加入以下代码:
Private Sub Form_Load()
Text1Text = Now
Timer1Enabled = True
Timer1Interval = 1000
End Sub
Private Sub Timer1_Timer()
Text1Text = Now
End Sub
扩展资料:
VB获取系统当前时间并格式化输出
用到的函数:
Date函数:返回系统的日期
Now函数:返回系统的日期和时间
Format函数:根据格式表达式来格式化数据
实例:
Private Sub Form_Load()
'设置同步时间显示
Timer1Interval = 1000
Timer1Enabled = True
End Sub
Private Sub Timer1_Timer()
Label2Caption = Format(Now, "hh:mm:ss") '获取当前时间
Label4Caption = Format(Now, "yyyy-mm-dd") '获取当前日期
Label6Caption = Format(Now, "yyyy-mm-dd hh:mm:ss") '日期和时间
End Sub
select current date -1 day from sysibmsysdummy1这种日期类型是:
2014-01-18
values to_date('20140101','yyyy-mm-dd')
2014-01-01 00:00:000
是timestamp格式,所以格式不一样
你可以修改一下你的语句:
select from a where to_char(date1,'yyyy-mm-dd') <>(current date -1 day);
试试可不可以。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)