vbs格式化日期及变量调用
先说下需求,是在SecureCRT调用VBS脚本实现自动化功能时,里面有一个SQL调用语句,该SQL有一个基于日期条件的查询,这个日期由于不是当天而是前天,所以需要通过VBS脚本将日期先格式化成对应的时间格式,并转化为想要的格式,再通过变量的形式转化使用。
1、VBS时间格式化
VBS取时间有函数date(),如果需要取三天前的日期可以通过如下代码实现:
1Dim tday
2tday = dateadd("d",-3,date)
而输出的时间格式可能不能满足具体的需求,因为这个输出的是YYYY/MM/DD的格式,这个时候就需要格式化为所需的格式,比如这里我想格式化为YYYYMMDD的格式。VBS实现格式化的一个函数写法如下:
1Function FormateDateTime(sendTime,Para)
2 select case Para
3 Rem YYYYMMDDHHmmss
4 case "1"
5 sendTime = year(sendTime) & right( "00" & month(sendTime),2) & right( "00" & day(sendTime),2) & right( "00 " & hour(sendTime),2) & right( "00 " & minute(sendTime),2) & right( "00 " & second(sendTime),2)
6 Rem YYYYMMDD
7 case "2"
8 sendTime = year(sendTime) & right( "00" & month(sendTime),2) & right( "00" & day(sendTime),2)
9 Rem YYYY-MM-DD
10 case "3"
11 sendTime = year(sendTime) & "-"& right( "00" & month(sendTime),2) & "-"& right( "00" & day(sendTime),2)
12 Rem YYYY年MM月DD日
13 case "4"
14 sendTime = year(sendTime) & "年"& right( "00 " & month(sendTime),2) & "月"& right( "00" & day(sendTime),2)& "日 "
15 Rem YYYY-MM-DD HH:mm:ss
16 case "5"
17 sendTime = year(sendTime) & "-"& right( "00 " & month(sendTime),2) & "-"& right( "00" & day(sendTime),2) & " "& right( "00 " & hour(sendTime),2) & ": "& right( "00 " & minute(sendTime),2) & ": "& right( "00 " & second(sendTime),2)
18 end select
19 FormateDateTime = SendTime
20end Function
21MsgBox FormateDateTime(date(), "3")
这里实现的FormateDateTime函数可以实现如下几种格式的时间格式化:
- YYYYMMDDHHmmss
- YYYYMMDD
- YYYY-MM-DD
- YYYY年MM月DD日
- YYYY-MM-DD HH:mm:ss
2、SQL中的调用
可以看出上面case 2就是我们需求的格式,所以具体SQL调用转换前的变量为:
1Dim tday
2tday = dateadd("d",-3,date)
3tday = year(tday ) & right( "00" & month(tday ),2) & right( "00" & day(tday ),2)
对应的SecureCRT里的调用格式为:
1crt.Screen.Send "select * from history where date > '"& tday & "' ;" & chr(13)
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/crt-vbs-date/6433.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.