[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[日期时间] 如何删除/去掉日期中月日数字前面/前导/开头的0/零

echo %date:~0,4%-%date:~5,2%-%date:~8,2%
截取的是2015-02-20
请问如何修改让截取成2015-2-20就是不个数天数的0
类似于
谢谢
1

评分人数

本帖最后由 Nsqs 于 2016-4-23 16:42 编辑
  1. @echo off
  2. for /f "tokens=1-3 delims=/- " %%1 in ("%date%")do set/a y=%%1,m=%%2,d=%%3&call set date=%%y%%-%%m%%-%%d%%
  3. echo %date%
  4. pause
复制代码
直接调用%date%即可

TOP

测试可以,非常感谢大神

TOP

本帖最后由 pcl_test 于 2016-4-24 21:36 编辑

回复 2# Nsqs


注意八进制的问题
for /f "tokens=1-3 delims=/- " %%a in ("%date%")do set/a y=%%a,m=1%%b%%100,d=1%%c%%100

TOP

回复 4# pcl_test


    没必要

TOP

回复 5# Nsqs

比如2016/01/08

TOP

回复 4# pcl_test


  一样的,,会有问题

TOP

回复 7# Nsqs


    他的意思是08月09号就不能直接取值了

TOP

本帖最后由 Nsqs 于 2016-4-25 01:01 编辑

回复 8# CrLf
  1. :sub bat
  2. echo off&cls
  3. cscript -nologo -e:vbs "%0"
  4. pause
  5. exit sub
  6. :end sub
  7. wsh.echo date
复制代码
直接这样``

TOP

回复 8# CrLf


    太麻烦,要是11-18又会出错,

TOP

  1. set "d=%date:~0,10%"
  2. set "d=%d:/0=/%"
  3. set "d=%d:-0=-%"
  4. echo;%d%
复制代码

TOP

本帖最后由 pcl_test 于 2016-5-9 12:00 编辑

回复 2# Nsqs
E:\>set/a y=2016,m=05,d=09  & call set date=%y%-%m%-%d%
无效数字。数字常数只能是十进制(17),十六位进制(0x11)或
八进制(021)。
2楼的出错了,大于10的日期没问题,小于10的就会出错

TOP

  1. m=1%%b%%100,d=1%%c%%100
复制代码
这个是什么意思????

TOP

返回列表