20楼#
发布于:2024-08-24 12:10
Windows平台也可以试试用系统自带的 powershell 命令:get-date
默认如果要只输出日期,不带具体时间,就是 get-date  -DisplayHint date
前一天就是:(get-date).adddays(-1)
两天后就是:(get-date).adddays(2)

不过这个输出就是带时间的,如果只要日期部分可以这样,比如三天后:
(Get-Date).AddDays(3).ToString('yyyy-MM-dd')



增加vbs版本,将下面内容保存为 get-date.vbs,编码 UTF-16 LE,或者用旧版的Windows记事本就保存在 Unicode 格式:
Dim dt
Set objArgs = WScript.Arguments
If objArgs.Count < 1 Then
  dt=now
Else
  IntDay = objArgs(0)
  dt=dateadd("d", IntDay, now)
End If
Wscript.Echo year(dt) & "年" & month(dt) & "月" & day(dt) & "日"
#当天的日期
cscript /nologo get-date.vbs
#一天后的日期
cscript /nologo get-date.vbs 1
#两天前的日期
cscript /nologo get-date.vbs -2
gyzczy
新手上路
新手上路
21楼#
发布于:2024-08-29 09:18
感谢分享!!!
22楼#
发布于:2024-08-31 15:25
使用cscript.exe运行的版本

var d=new Date();
var days=0;
if(WScript.Arguments.Length==1)
days=parseInt(WScript.Arguments(0));
d.setTime(d.getTime()+days*24*3600*1000);
var text=d.getFullYear()+'年'
+(d.getMonth()+1)+'月'
+d.getDate()+'日';
WScript.Echo(text);
23楼#
发布于:2024-08-31 22:36
周大刚才发的可以保存为 get-date.js,保存脚本文件时编码选择用 “Unicode”(如果是windows下的记事本)或“UTF16 LE”(如果是用的其它支持多种编码的编辑器)。
然后可以在CMD下测试:
#当天的日期
cscript get-date.js
#一天后的日期
cscript get-date.js 1
#两天后的日期
cscript get-date.js 2

如果是要用命令直通车,就是参考楼主的做法这样写:
oqt $[前天]$GO(|cscript$_//nologo$_$(_HOME)\get-date.js$_-2)
ozt $[昨天]$GO(|cscript$_//nologo$_$(_HOME)\get-date.js$_-1)
omt $[明天]$GO(|cscript$_//nologo$_$(_HOME)\get-date.js$_1)
oht $[后天]$GO(|cscript$_//nologo$_$(_HOME)\get-date.js$_2)

理论上在中文的系统上小小安装为内置的情况下应该就可以正常输出,但在别的语言环境下,可能会有乱码。
get-date.zip
24楼#
发布于:2024-09-07 17:01
我也下载datex.exe来试试
感谢分享
zjason
新手上路
新手上路
25楼#
发布于:2024-09-17 23:21
感谢分享!
26楼#
发布于:2024-09-20 15:00
yanqian:周大刚才发的可以保存为 get-date.js,保存脚本文件时编码选择用 “Unicode”(如果是windows下的记事本)或“UTF16 LE”(如果是用的其它支持多种编码的编辑器)。
然后可以在CMD下测试:
#当天的日期
cs...
回到原帖
刚刚测试了,你提供的脚本没有问题。
27楼#
发布于:2024-09-21 17:49
yanqian:Windows平台也可以试试用系统自带的 powershell 命令:get-date
默认如果要只输出日期,不带具体时间,就是 get-date  -DisplayHint date
前一天就是:(get-date).adddays(...
回到原帖
感谢分享,这个vbs脚本很好用。
上一页 下一页
游客

返回顶部