首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建昨天的日期戳

如何创建昨天的日期戳
EN

Stack Overflow用户
提问于 2013-02-15 22:42:31
回答 2查看 2K关注 0票数 0

我正在尝试获取文件名中带有日期戳的文件内容(WH.FBTBT20130214.csv)。我为今天创建了一个日期戳变量,但在google中找不到任何东西来告诉我如何使用相同的格式回溯我的日期戳。下面是我在批处理文件中创建的代码:

代码语言:javascript
复制
@echo off

REM ***** 20130215 MS Define DateStamp variable *****
Set DateStamp=%date:~10,4%%date:~4,2%%date:~7,2%
Set DateStamp=%DateStamp%
REM Set DateStamp=20130212

echo DateStamp: %DateStamp%

任何帮助/指导都将不胜感激。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-15 23:36:31

你不能总是从日期中减去1就得到昨天的日期。今天是三月一号。昨天是什么日子?三月0号?不是这样的。更好的方法是使用vbscript的Date()对象,然后从该对象中减去一天。

代码语言:javascript
复制
@echo off
setlocal
REM ***** 20130215 MS Define DateStamp variable *****
echo d = DateAdd^("d", -1, Date^(^)^)>yesterday.vbs
echo wscript.echo DatePart^("yyyy", d^) ^& "/" ^& DatePart^("m", d^) ^& "/" ^& DatePart^("d", d^)>>yesterday.vbs
for /f "tokens=1-3 delims=/" %%I in ('cscript /nologo yesterday.vbs') do (
    set Year=%%I
    if %%J LEQ 9 (set Month=0%%J) else set Month=%%J
    if %%K LEQ 9 (set Day=0%%K) else set Day=%%K
)
set DateStamp=%Year%%Month%%Day%
del /q yesterday.vbs
echo %DateStamp%
票数 0
EN

Stack Overflow用户

发布于 2013-02-15 23:18:50

我找到了答案。如果有人感兴趣的话:

设置/A DateStamp=(%date:~10,4%%date:~4,2%%date:~7,2%)-1

echo DateStamp:%DateStamp%

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14897097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档