VB 如何把access中的字符串日期转换成日期格式并能计算日期
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB 如何把access中的字符串日期转换成日期格式并能计算日期相关的知识,希望对你有一定的参考价值。
例如字段sDate的某值为09.11.2012,是月日年的格式,怎么在查询时使用select命令查询9月11日到9月12日之间的人数
VB对于字符串的运用已经非常好了。那么关于ACCESS的运用如下解释:
1:字符串转换日期格式
A类:CDATE函数转换,将字符串直接转换成日期。
例子:Print Cdate("1/1/2017")
结果:2017-01-01
B类:FORMAT函数转换
dim S as string
S="2017-1-1"
S="1/1/2017"
等等S类型,但是起码保证S字符串是日期响应内容,比如S="贰零壹柒年三月一日"看起来是日期,其实并非日期所需的字符串内容.
例子:Print Format(s,"YYYY-MM-DD")
后面的YYYY是年,YY是二位数的年,MM是二位数的月,一个M是不带0开头的月,DD同理。返回一个日期格式字符串。
------------------------------------------------------------
上诉是日期转换类,比较省事的是CDATE,比较自定义的是FORMAT,以比较另类的YEAR()函数+MONTH()函数=DAY()函数去获取字符串的对应年份,月份,日期。
下面说日期格式对比,加减等等。
A:DateADD("类1",类2,“日期格式”)
解释:类1=M就是计算月,D是日,Y是年。
类2,是一个数字,整形数字,不能有小数点,可以是正负。
日期格式,这个不用怎么解释了。
例子:Dateadd("m",1,"2017-01-01"),Dateadd("m",-1,"2017-01-01")
结果:2017-02-01 2016-12-01
解释:在2017-01-01的日期上,增加(1)个(m)月,第二个是增加(-1)个月,或者说是减少一个月。
M可是换成Y,成为减少年,换成D,减少天数。
B:DateDiff (interval, Date1 , Date2)
interval=Y,Q,M,D,W,H,N,S
分别是年,季度,月,日,星期,小时,分,秒等等。
例子:DateDiff("m","2016-01-01","2017-01-01")
结果:12个月,换成其他的,比如d=366天,比如h=8784小时,比如s=31622400秒
总结:
Cdate,Format 函数用来转换字符串到日期格式。
Year(),Month(),Day()获取字符串中的年份,月份,日
DadeAdd()将目标日期,增加或者减少指定数值的年月日等。
DateDiff()获取二个日期之间的时间差,而时间差根据指定参数获得。
其中Format("2017-1-1","aaaa")这个函数比较奇妙,结果是获取当前日期的星期,比如结果是【星期一】这样的中文结果,当然,这是因为我们的地区设置是中国,若是外国可能返回英语啊德语啊什么的。
不知道是否满足你的需求呢?若不能或者本人对命题理解错误,请回复我。 参考技术A access中你这个问题可以采用变通方式
利用mid函数
例如:
select * from xx where mid(sdate,1,2)="09" and (mid(sdate,4,2)="11" or mid(sdate,4,2)="12") 参考技术B 你用过那个数据库,我用access数据库的时候查询语句是这样的
Sqlstr = "select * from 销售详单 where 日期 >= #" + Format(DTPicker2.Value, "yyyy-mm-dd") + _
"# and 日期 <= #" + Format(DTPicker3.Value, "yyyy-mm-dd") + "#"
DTPicker3.Value是日历控件上选择的值本回答被提问者和网友采纳 参考技术C select ... from ... where datevalue(sdate)... 参考技术D SELECT * FROM 表名 WHERE sdate>=#2012-9-11# And sdate<=#2012-9-12#
以上是关于VB 如何把access中的字符串日期转换成日期格式并能计算日期的主要内容,如果未能解决你的问题,请参考以下文章