Batch批处理获取当前时间

这不是一个新问题,但是由于网上写的都是针对自己的电脑设置,没有通用性,而我呢,又需要在不同电脑上使用,因此,这命题一个问题了。其实也没有什么好说的,直接上代码。

@ECHO OFF
set split=-
set datetimesplit= 

for /f "tokens=1,2,3,4,*" %%i in ('reg query "HKCU\Control Panel\International" ^| find /i "sShortDate"') do SET "dateformat=%%k"
IF "%dateformat%" == "M/d/yyyy"   set A_DATE=%date:~6,4%%split%%date:~0,2%%split%%date:~3,2%
IF "%dateformat%" == "M/d/yy"     set A_DATE=20%date:~6,2%%split%%date:~0,2%%split%%date:~3,2%
IF "%dateformat%" == "MM/dd/yy"   set A_DATE=20%date:~6,2%%split%%date:~0,2%%split%%date:~3,2%
IF "%dateformat%" == "MM/dd/yyyy" set A_DATE=%date:~6,4%%split%%date:~0,2%%split%%date:~3,2%
IF "%dateformat%" == "yy/MM/dd"   set A_DATE=20%date:~0,2%%split%%date:~3,2%%split%%date:~6,2%
IF "%dateformat%" == "yyyy-MM-dd" set A_DATE=%date:~0,4%%split%%date:~5,2%%split%%date:~8,2%
IF "%dateformat%" == "dd-MMM-yy"  set A_DATE=20%date:~7,2%%split%%date:~3,3%%split%%date:~0,2%
set A_NOW=%A_DATE%%datetimesplit%%time:~0,2%%split%%time:~3,2%%split%%time:~6,2%

echo %A_NOW%

其中有两个可以设置的地方,就是split和datetimesplit,分别是日期与时间内容的分割符和日期与时间之间的分割符。通常可以设置为:-(减号),空,以及` `空格,我相信会用到这个的应该是在批处理用,所以应该不有人想用冒号的吧。

原文地址:https://www.cnblogs.com/troy-daniel/p/Batch_Time_NOW.html

时间: 2024-10-06 19:05:28

Batch批处理获取当前时间的相关文章

bat 批处理获取时间语法格式

bat 批处理获取时间语法格式 取年份:echo %date:~0,4% 取月份:echo %date:~5,2% 取日期:echo %date:~8,2% 取星期:echo %date:~10,6% 取小时:echo %time:~0,2% 取分钟:echo %time:~3,2% 取秒:echo %time:~6,2% 取毫秒:echo %time:~9,2% 示例: D:\>echo %date:~0,4%-%date:~5,2%-%date:~8,2% 2018-06-06 D:\>e

获取系统时间的最佳批处理

使用批处理获取时间时,通常%DATE%来获取,但这个格式是受系统限制, 使用下面的方法获取系统时间就不用考虑格式的变化 1 @echo off 2 call :GetLocaldatetime 3 echo %GetLocaldatetime% 4 5 call :GetUTCTime 6 echo %GetUTCTime% 7 8 call :GetTimeZone 9 echo %GetTimeZone% 10 11 exit/b 12 13 :GetLocaldatetime 14 for

批处理获取拖入文件信息

@ECHO OFF echo %1:获取拖入文件完整路径.如:"E:\DDC\add.txt"echo %~1:获取拖入文件完整路径,并去掉首尾引号.如:E:\DDC\add.txtecho %~nx1:获取拖入文件文件名及后缀.如:add.txtecho %~n1:获取拖入文件文件名.如:addecho %~x1:获取拖入文件后缀名.如:.txtecho %~dp1:获取拖入文件所在目录完整路径.如:E:\DDC\echo %cd%:获取拖入文件所在目录路径.如:E:\DDCecho

bat批处理以当前时间创建文本文件

:: 表示注释 :: @表示不显示当前命令,只在后台执行 :: @echo off 表示以后执行的命令都不显示 :: set d=%date:~0,10% 表示设置变量d为当前年月日,默认表示为例如:2018/12/05 :: set 表示设置变量 :: date:~0,10 表示取2018/12/05的从0开始但不包括0的10个字符 :: 比如date:~5,2 是获取12 :: cd.>e:\test\%d%%t%.txt 表示新建文本文件 @echo off set d=%date:~0,

MySQL时间函数-获取当前时间-时间差

MySQL中获取当前时间为now(),不同于sqlserver getdate(). SQLServer转MySQL除变化top 1 -> limit 1之后报错: select 1 from record_visitor where visitor_ip='' and datediff(mi,visitor_time,getdate())<=30 limit 1 [Err] 1582 - Incorrect parameter count in the call to native func

iOS 获取当前时间以及计算年龄(时间差)

获取当前时间 NSDate *now = [NSDate date]; NSLog(@"now date is: %@", now); NSCalendar *calendar = [NSCalendar currentCalendar]; NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarU

Js获取当前日期时间+日期印证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天

Js获取当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天 字符串转日期型+Js当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+日期所在年的第几周 日期时间脚本库方法列表Date.prototype.isLeapYear 判断闰年Date.prototype.Format 日期格式化Date.prototype.DateAdd 日期计算Date.prototype.DateDiff 比较日期差Date.prototype.toString 日期转字符

Javascript获取服务器时间

Javascript是运行在客户端的脚本,我们一般都用new Date()来获取当前时间,但是得到的是客户端的时间,客户端时间是随意更改的,如果要做一个产品发布倒计时的话,客户端时间一改,就要闹笑话了.业务中需要用到服务器时间的场景还有很多,那么仅仅通过js怎么拿到服务器时间呢?事实上,只需要一个ajax请求就搞定,通过读取XMLHttpRequest对象的请求头里面的时间戳得到当前服务器时间! 原理就是这么简单:通过ajax向服务器发送请求,当服务器收到请求后即可读取请求头的时间戳了,不管请求

PHP获取当前时间、时间戳的各种格式写法汇总

今天写下php中,如何通过各种方法 获取当前系统时间.时间戳,并备注各种格式的含义,可灵活变通.1.获取当前时间方法date()很简单,这就是获取时间的方法,格式为:date($format, $timestamp),format为格式.timestamp为时间戳–可填参数.2.获取时间戳方法time().strtotime()这两个方法,都可以获取php中unix时间戳,time()为直接获取得到,strtotime($time, $now)为将时间格式转为时间戳,$time为必填.清楚了这个