• 关于bat中日期时间字符串的格式化


    在其他编程语言中,要实现日期时间字符串的格式化,包括时间计算,都是比较简单的

    但在bat或者说cmd、dos中要实现这些功能、还是有一定难度的

    首先,windows的cmd中可以使用%date%表示日期,%time%表示时间,但都会依赖于系统本身设置的日期时间的格式

    即在不同的windows主机中%date%与%time%的输出值都可能不一样!所以如果处理日期与时间,都最好要在主机上测试一下

    笔者目前最常用的是如下方式格式化日期与时间的输出:

    @echo off
    for /f "tokens=1-3 delims=-/ " %%1 in ("%date%") do set ddd=%%1%%2%%3
    for /f "tokens=1-4 delims=.: " %%1 in ("%time%") do set tttt=%%1%%2%%3%%4
    Set DT=%ddd%%tttt%
    
    echo date %ddd%
    echo time %tttt%
    echo %DT%
    @echo on

    这样在笔者PC上执行,分别输出:20200912  、   17332783  和  2020091217332783    (其中2783代表27.83秒),也许这就是最合适的格式

    但如果到到另一台windows服务器上执行,即输出:Sat0912  、17332783 和Sat091217332783

    也还有其他服务器执行,输出样式类似为:09122020、1000389  和 091220201000389 (可以看出小时位不足2位,格式上就不会前面的0)                       


    因此在bat脚本中如果要使用到%date%和%time%,需要谨慎,最好是先到目标主机中测试一下的!否则可以结果与自己预想的不一致!

    尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/13657862.html

  • 相关阅读:
    private SortedDictionary<string, object> Dic_values = new SortedDictionary<string, object>();
    [Luogu 2817]宋荣子的城堡
    [测试题]等效集合
    [SDOI 2009]HH去散步
    [HNOI 2013]比赛
    [SCOI 2016]背单词
    [测试题]圆圈
    [Luogu 3389]【模板】高斯消元法
    [Codeforces 505C]Mr. Kitayuta, the Treasure Hunter
    [Codeforces 448C]Painting Fence
  • 原文地址:https://www.cnblogs.com/5201351/p/13657862.html
Copyright © 2020-2023  润新知