Board logo

标题: [问题求助] VBS如何输出格式为yyyymmdd的日期? [打印本页]

作者: Cameron    时间: 2012-6-28 13:21     标题: VBS如何输出格式为yyyymmdd的日期?

我写的代码如下
  1. wscript.echo join(split(date-1,"-",-1),"")
复制代码
但是这样在月份或日期是一位的情况下输出的格式为yyyyMd,如2012年6月8日则输出为201268,而我希望输出为20120608。
我看了下“区域和语言选项”在“自定义区域选项”中短日期格式默认为“yyyy-M-d”,日期分隔符默认为“-”。这个选项是可以修改为“yyyy日期分隔符mm日期分隔符dd”的,修改后上面的VBS代码可以输出格式为yyyymmdd的日期。
我现在的想法是在运行脚本时使用VBS将其修改,之后再自动改回默认。但是,
1.不知用VBS怎么改;
2.是否会即时生效?
3.系统内的Win32API是不是有输出此格式日期的能力,如果有就不用改系统设置了。
如果哪位有更好的方法还请告知,多谢了!
作者: neorobin    时间: 2012-6-28 14:13

本帖最后由 neorobin 于 2012-6-28 14:23 编辑
  1. wscript.echo(Year(Date()) & Right("0" & Month(Date()), 2) & Right("0" & Day(Date()), 2))
复制代码
另外, 前一天的计算建议用 DateAdd 函数, 例:
  1. DateAdd("d",-1,Date())
  2. DateAdd("d",-1,"6 9 2012")
复制代码

作者: Cameron    时间: 2012-7-2 15:52

回复 2# neorobin
2楼的代码可以实现。
还想再问一下关于前一天的计算,date-1是不是容易出错?在什么情况下会出错?我看看我写的脚本需不需要考虑该情况。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2