当前位置: 首页 > 知识库问答 >
问题:

使用Windows批处理文件输出可排序的日期和时间字符串[重复]

端木令
2023-03-14

我已经经历了许多类似的问题,例如下面的问题,但无法获得有效的输出。我只需要字符串中的“YYYYMMDD hhmms”。下面的工作立即准备好复制/粘贴到命令提示符中,您可以看到结果。我不知道为什么在最终输出中我的变量之间会有间隙/空格(我原以为有尾随空格,但我尝试了各种技术来去除这些间隙/空格,但都不起作用,从我看到的变量中没有尾随空格)。编辑:我不能使用PowerShell(如果可以,我会这样做,Gerhard在下面正确地建议了这一点,但我受现有系统的限制,无法批量处理)。

有人能建议如何创建预期的字符串输出“YYYYMMDD hhmmss”吗?

预期结果:<代码>20200716-100205

实际结果:2020 07 16-10 02 05

Windows批处理:将日期格式化为变量

:: for /f %x in ('wmic path win32_localtime get /format:list ^| findstr "="') do set %x
:: Inside a script use:
:: for /f %%x in ('wmic path win32_localtime get /format:list ^| findstr "="') do set %%x

set Year=2020
set Year=00%Year% && set Year=%Year:~-2% && echo %Year%
set Month=7
set Month=00%Month% && set Month=%Month:~-2% && echo %Month%
set Day=16
set Day=00%Day% && set Day=%Day:~-2% && echo %Day%
set Hour=10
set Hour=00%Day% && set Hour=%Hour:~-2% && echo %Hour%
set Minute=2
set Minute=00%Minute% && set Minute=%Minute:~-2% && echo %Minute%
set Second=5
set Second=00%Second% && set Second=%Second:~-2% && echo %Second%

set yyyymmddhhmmss=%Year%%Month%%Day%-%Hour%%Minute%%Second%
echo %yyyymmddhhmmss%

共有1个答案

蒋健
2023-03-14

这个答案已经被扩展了无数次,所以我把所有的东西都去掉,给出一个单一的解决方案。

@
for /f "tokens=2 delims=.=" %%i in ('wmic os get localdatetime /format:list') do set result=%%i
echo %result%
 类似资料:
  • 主要内容:日期,时间,日期格式化:年-月-日DOS脚本中的日期和时间具有以下两个用于检索系统日期和时间的基本命令。 日期 该命令获取系统日期。 语法 示例 当前日期将显示在命令提示符下。 例如, 时间 该命令设置或显示时间。 语法 示例 当前时间将显示在命令提示符下。 例如, 以下是一些可用于以不同格式获取日期和时间的实现。 日期格式化:年-月-日 示例 以上命令产生以下输出 -

  • 本文向大家介绍批处理将字符串或日期输出到Windows剪贴板的实现方法,包括了批处理将字符串或日期输出到Windows剪贴板的实现方法的使用技巧和注意事项,需要的朋友参考一下 如下操作需要借助于clip.exe(C:\Windows\System32\clip.exe),系统自带,不需要下载。 C:\Windows\System32>clip /?   CLIP   描述:     将命令行工具的

  • 我正在学习如何使用java编程查看txt文件,我想知道为什么我的代码不能工作。我使用扫描仪接收用户输入,然后使用用户输入查看整个白鲸,并返回word在书中的出现次数。我唯一的问题是,无论我放什么词,它都返回0,我不知道为什么。我怀疑这是他们对我的文件进行解析和比较的方式,但我真的不知道。感谢帮助。

  • 问题内容: 我有一个日期字符串的任意列表(mm-yyyy),如下所示: 我需要此列表首先按年(升序)级别排序,然后按月(升序)级别排序..以便逻辑顺序可以是: 我该如何实现? 问题答案: 尝试这个:

  • 问题内容: 更新:现在是2016年,除非有确实令人信服的向后兼容原因,否则我将使用PowerShell,特别是因为using的区域设置问题。 Windows命令行语句是什么,我可以用可以放入文件名的格式来获取当前日期时间? 我想要一个.bat文件,该文件将目录压缩到存档中,并将当前日期和时间作为名称的一部分,例如。有什么简单的方法可以做到这一点,而与计算机的区域设置无关吗? 我不太在乎日期格式,理

  • 在JavaScript中,为什么这两行代码使用不同的时区? 返回太阳9月12日2021 11:00 :03 GMT-0400(东部夏时制) 返回太阳9月12 2021 10:00:03格林尼治标准时间0500(东部标准时间) 为什么它们不是都在GMT-0500(东部标准时间)??? 这些行在代码中是一个接一个的,所以它们由同一个服务器运行。 谢谢"