打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
时期和时间函数

目录
1、时期和时间函数简介
2、日期转星期第几天
3、日期转天数
4、日期转修正儒略日
5、日期转分钟数
6、日期转序号日期
7、日期转秒钟数
8、日期转星期日期
9、星期第几天转星期名称
10、星期名称转星期第几天
11、天数转日期
12、获取本地系统日期
13、获取本地系统时间
14、修正儒略日转日期
15、分钟数转日期
16、第几个月转月份名称
17、月份名称转第几个月
18、序号日期转日历日期
19、秒钟数转日期
20、星期日期转日历日期

1、时期和时间函数简介

概述

注:对以下函数中的算法进行优化的任何企图,都有可能导致函数在 NT4 下失败。因为圆括号是不被支持的,而且算数操作符的优先级也是错误的。

参数

当传递日期、时间给这些日期时间函数的时候,必须遵循以下格式:

  •  必须是两位或者四位。从 70 到 99 之间的年份会被认为是二十世纪,从 00 到 69 之间的年份会被认为是二十一世纪。

  •  必须是一位或者两位,范围是 1 到 12 之间或者 01 到 12 之间。

  •  必须是一位或者两位,范围是 1 到 31 之间或者 01 到 31 之间。

  • 小时 必须是十二小时制或者二十四小时制。对于十二小时制,小时的范围是 1 到 12 之间或者 01 到 12 之间。如果使用了十二小时制,分钟参数后面必须紧跟着“a”或者“p”(比如 00a 或者 34p)。 对于二十四小时制,小时的范围必须是 0 到 23 之间或者 00 到 23 之间。

  • 分钟 必须是两位,范围是 00 到 59 之间。

  • 秒钟 必须是两位,范围是 00 到 59 之间。

之所以要接受两位的年份和十二小时制,是为了兼容 DIR 命令输出结果中可能存在的不同格式。

返回值

日期时间函数返回的日期和/或时间将使用如下格式:

  •  将会是四位。

  •  将会是两位,范围是 01 到 12 之间。

  •  将会是两位,范围是 01 到 31 之间。

  • 小时 将会是二十四小时制,范围是 00 到 23 之间。

  • 分钟 将会是两位,范围是 01 到 59 之间。

  • 秒钟 将会是两位,范围是 01 到 59 之间。

这些格式适用于大部分应用程序,这就让 ISO 8601 格式日期变得非常易用。如果需要,可以轻松去除以零开头的数字前面的零,方法是先在左边补上 100,再对 100 取余。比如:
@echo off & setlocal ENABLEEXTENSIONS
set var=09
set /a var=100%var%%%100
echo/Leading zero has been removed: %var%

建议格式

下面是由 ISO 8601 建议的最常用的日期时间格式简概括。

组成

基本格式

扩展格式

日历日期

YYYYMMDD Eg 19991231

YYYY-MM-DD Eg 1999-12-31

时间

hhmmss Eg 235909

hh:mm:ss Eg 23:59:09

日期时间

YYYYMMDDThhmmss Eg 19991231T235909

YYYY-MM-DDThh:mm:ss Eg 1999-12-31T23:59:09

序号日期

YYYYDDD Eg 1999365

YYYY-DDD Eg 1999-365

星期日期

YYYYWwwD Eg 1999W525

YYYY-Www-D Eg 1999-W52-5

参考

HEASARC 在线日期转换
日历学习和转换算法
ISO 8601 日期时间标准概述
ISO 8601:2000 PDF格式文档
Gregorian Civil 日期转换器

2、DateToDOW

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:DateToDOW %yy% %mm% %dd% dow
::
:: 作者: Ritchie Lawrence, 2003-04-29. 版本 1.1
::
:: 功能: 获取某一日期是其所在星期的第几天,1 = 星期一,7 = 星期日
::       适用于 NT4/2000/XP/2003.
:: 
:: 参数: %1 待转换的年,两位或者四位(传值调用)
::       %2 待转换的月,可以以零开头(传值调用)
::       %3 待转换的日,可以以零开头(传值调用)
::       %4 该变量用于接收所在星期的第几天,1 到 7 (引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
set yy=%1&set mm=%2&set dd=%3
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,dow=153*m+2
set /a dow=dow/5+dd+y*365+y/4-y/100+y/400-2472630,dow%%=7,dow+=1
endlocal&set %4=%dow%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

参数

%1 待转换的年,两位或者四位(传值调用)
%2 待转换的月,可以以零开头(传值调用)
%3 待转换的日,可以以零开头(传值调用)
%4 该变量用于接收所在星期的第几天,1 到 7 (引用调用)

返回值

见上述参数。

实例

@echo off & setlocal ENABLEEXTENSIONS
call :GetDate y m d
call :DateToDOW %y% %m% %d% dow
call :DayName %dow% day
echo/今天是星期的第 %day% 天
goto :EOF


备注

函数 DateToWeek 除了获取年和月之外,也可获取日期所在星期的第几天。

参考

DateToWeekDayNameDayNumber

3、DateToDays

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:DateToDays %yy% %mm% %dd% days
::
:: 作者:Ritchie Lawrence, 2002-09-26. 版本 1.0
::
:: 功能:返回从 1970 年 1 月 1 日到给定的日期之间所经过的天数。
::       适用于 NT4/2000/XP/2003.
:: 
:: 参数:%1 待转换的年,两位或者四位(传值调用)
::       %2 待转换的月,可以以零开头(传值调用)
::       %3 待转换的日,可以以零开头(传值调用)
::       %4 该变量用于接收所经过的天数(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
set yy=%1&set mm=%2&set dd=%3
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
endlocal&set %4=%j%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

参数

%1 待转换的年,两位或者四位(传值调用)
%2 待转换的月,可以以零开头(传值调用)
%3 待转换的日,可以以零开头(传值调用)
%4 该变量用于接收所经过的天数(引用调用)

返回值

见上述参数。

实例

@echo off & setlocal ENABLEEXTENSIONS
call :DateToDays 2003 12 31 days
echo/从 1970-01-01 到 2003-12-31 之间所经过的天数是:%days%
goto :EOF 
 

备注

和 DaysToDate 函数一起使用,可以作为一个指定日期的日期函数解决方案。这个函数和 DateToMJD 函数基本相同,只是使用的参考日期(第零天)不同而已。参考日期 1970-01-01 允许 MinsToDays 函数和 SecsToDays 函数的互用性,因为它们都使用这个相同的参考日期。

另外,很多 Windows 注册表也包含了自从 1970-01-01 00:00:00 (UTC,协调世界时)以来的秒数。
 

参考

DaysToDateMJDToDate


4、DateToMJD

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:DateToMJD %yy% %mm% %dd% MJD
::
:: 作者:Ritchie Lawrence, 2002-06-15. 版本 1.0
::
:: 功能:把一个协调世界时(UTC)日期转换为修正儒略日(MJD)
::       参考日期(第零天)是 1858 年 11 月 17 日
::       适用于 NT4/2000/XP/2003.
:: 
:: 参数:%1 待转换的年,两位或者四位(传值调用)
::       %2 待转换的月,可以以零开头(传值调用)
::       %3 待转换的日,可以以零开头(传值调用)
::       %4 该变量用于接收修正儒略日(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
set yy=%1&set mm=%2&set dd=%3
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2432046
endlocal&set %4=%j%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 

参数

%1 待转换的年,两位或者四位(传值调用)
%2 待转换的月,可以以零开头(传值调用)
%3 待转换的日,可以以零开头(传值调用)
%4 该变量用于接收修正儒略日(引用调用)

返回值

见上述参数。

实例

@echo off & setlocal ENABLEEXTENSIONS
call :DateToMJD 1999 12 31 x
echo/1999-12-31 的修正儒略日是:%x%
goto :EOF 

备注

和 MJDToDate 函数一起使用,可以作为一个指定日期的日期函数解决方案。比如,使用 MJDToDate 把一个日期转换为修正儒略日(MJD),然后加上/减去一个天数, 最后再用 DateToMJD 转换为日期。

参考

MJDToDateGetDate


5、DateToMins

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:DateToMins %yy% %mm% %dd% %hh% %mm% result
::
:: 作者:Ritchie Lawrence, updated 2003-04-03. 版本 1.1
::
:: 功能:返回自从 1970-01-01 00:00 到指定日期之间所经过的分钟数
::       适用于 NT4/2K/XP/2003
:: 
:: 参数:%1 待转换的年,两位或者四位(传值调用)
::       %2 待转换的月,范围是 1/01 到 12,可以以零开头(传值调用)
::       %3 待转换的日,范围是 1/01 到 31,可以以零开头(传值调用)
::       %4 待转换的小时,范围是 1/01 到 12 (12小时制,分钟数以“a”或者
::          “p”结尾)或者 0/00 到 23 (24小时制)(传值调用)
::       %5 待转换的分钟,范围是 00-59 (12小时制需加 a/p 后缀)(传值调用)
::       %6 该变量用于接收所经过的分钟数(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
set yy=%1&set mm=%2&set dd=%3&set hh=%4&set nn=%5
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
if 1%hh% LSS 20 set hh=0%hh%
if {%nn:~2,1%} EQU {p} if "%hh%" NEQ "12" set hh=1%hh%&set/a hh-=88
if {%nn:~2,1%} EQU {a} if "%hh%" EQU "12" set hh=00
if {%nn:~2,1%} GEQ {a} set nn=%nn:~0,2%
set /a hh=100%hh%%%100,nn=100%nn%%%100,j=j*1440+hh*60+nn
endlocal&set %6=%j%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

参数

%1 待转换的年,两位或者四位(传值调用)
%2 待转换的月,范围是 1/01 到 12,可以以零开头(传值调用)
%3 待转换的日,范围是 1/01 到 31,可以以零开头(传值调用)
%4 待转换的小时,范围是 1/01 到 12 (12小时制,分钟数以“a”或者“p”结尾)或者 0/00 到 23 (24小时制)(传值调用)
%5 待转换的分钟,范围是 00-59 (12小时制需加 a/p 后缀)(传值调用)
%6 该变量用于接收所经过的分钟数(引用调用)

返回值

见上述参数。

实例

@echo off & setlocal ENABLEEXTENSIONS
call :GetDate y m d
call :GetTime hh mm ss tt
call :DateToMins %y% %m% %d% %hh% %mm% mins
echo/从 1970-01-01 00:00 到 %y% %m% %d% %hh% %mm% 之间所经过的分钟数是:%mins%
goto :EOF 
 


备注

和 MinsToDate 函数一起使用,可以作为一个指定分钟的日期函数解决方案。

日期范围是从 1970-01-01 00:00 到 6053-01-23 02:07,也就是给定了范围是 0 到 2147483647 或者 (2^31)-1 的分钟数。

参考

MinsToDate


6、
DateToOrdinal

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:DateToOrdinal %yy% %mm% %dd% year doy
::
:: 作者:Ritchie Lawrence, updated 2002-11-22. 版本 1.1
::
:: 功能:通过日历日期获取 ISO 8601 序号日期。
::       适用于 NT4/2000/XP/2003.
:: 
:: 参数:%1 待转换的年,两位或者四位(传值调用)
::       %2 待转换的月,可以以零开头(传值调用)
::       %3 待转换的日,可以以零开头(传值调用)
::       %4 该变量用于接收年份,四位(引用调用)
::       %5 该变量用于接收一年中的第几天,001 到 366(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
set yy=%1&set mm=%2&set dd=%3
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-32045
set /a y=yy+4799,k=y*365+y/4-y/100+y/400-31738,o=j-k+1
if %o% LSS 100 set o=0%o%&if %o% LSS 10 set o=00%o%
endlocal&set %4=%yy%&set %5=%o%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

参数

%1 待转换的年,两位或者四位(传值调用)
%2 待转换的月,可以以零开头(传值调用)
%3 待转换的日,可以以零开头(传值调用)
%4 该变量用于接收年份,四位(引用调用)
%5 该变量用于接收一年中的第几天,001 到 366(引用调用)

返回值

见上述参数。

实例

@echo off & setlocal ENABLEEXTENSIONS
call :GetDate y m d
call :DateToOrdinal %y% %m% %d% year doy
echo/今天(序号日期)是:%year%-%doy%
goto :EOF 

备注

无。

参考

OrdinalToDate


7、DateToSecs

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:DateToSecs %yy% %mm% %dd% %hh% %nn% %ss% secs
::
:: 作者:Ritchie Lawrence, updated 2002-08-13. 版本 1.1
::
:: 功能:返回自从 1970-01-01 00:00:00 到指定日期之间所经过的秒钟数
::       适用于 NT4/2000/XP/2003.
:: 
:: 参数:%1 待转换的年,两位或者四位(传值调用)
::       %2 待转换的月,范围是 1/01 到 12,可以以零开头(传值调用)
::       %3 待转换的日,范围是 1/01 到 31,可以以零开头(传值调用)
::       %4 待转换的小时,范围是 1/01 到 12 (12小时制,分钟数以“a”或者
::          “p”结尾)或者 0/00 到 23 (24小时制)(传值调用)
::       %5 待转换的分钟,范围是 00-59 (12小时制需加 a/p 后缀)(传值调用)
::       %6 待转换的秒钟,范围是 0-59 或者 00-59(传值调用)
::       %7 该变量用于接收所经过的秒钟数(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
set yy=%1&set mm=%2&set dd=%3&set hh=%4&set nn=%5&set ss=%6
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
if 1%hh% LSS 20 set hh=0%hh%
if {%nn:~2,1%} EQU {p} if "%hh%" NEQ "12" set hh=1%hh%&set/a hh-=88
if {%nn:~2,1%} EQU {a} if "%hh%" EQU "12" set hh=00
if {%nn:~2,1%} GEQ {a} set nn=%nn:~0,2%
set /a hh=100%hh%%%100,nn=100%nn%%%100,ss=100%ss%%%100
set /a j=j*86400+hh*3600+nn*60+ss
endlocal&set %7=%j%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

参数

%1 待转换的年,两位或者四位(传值调用)
%2 待转换的月,范围是 1/01 到 12,可以以零开头(传值调用)
%3 待转换的日,范围是 1/01 到 31,可以以零开头(传值调用)
%4 待转换的小时,范围是 1/01 到 12 (12小时制,分钟数以“a”或者“p”结尾)或者 0/00 到 23 (24小时制)(传值调用)
%5 待转换的分钟,范围是 00-59 (12小时制需加 a/p 后缀)(传值调用)
%6 待转换的秒钟,范围是 0-59 或者 00-59(传值调用)
%7
 该变量用于接收所经过的秒钟数(引用调用)

返回值

见上述参数。

实例

@echo off & setlocal ENABLEEXTENSIONS
call :GetDate y m d
call :GetTime hh mm ss tt
call :DateToSecs %y% %m% %d% %hh% %mm% %ss% secs
echo/从 1970-01-01 00:00:00 到 %y% %m% %d% %hh% %mm% %ss% 所经过的秒数是:%secs%
goto :EOF 
 


备注

和 SecsToDate 函数一起使用,可以作为一个指定秒钟的日期函数解决方案。另外,很多 Windows 注册日期也包含了自从 1970-01-01 00:00:00 (UTC,协调世界时)以来的秒数。
 

日期范围是从 1970-01-01 00:00:00 到 2038-01-19 03:14:07,也就是给定了范围是 0 到 2147483647 或者 (2^31)-1 的秒钟数。

参考

SecsToDate


8、DateToWeek

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
:DateToWeek %yy% %mm% %dd% yn cw dw
::
:: 作者:Ritchie Lawrence, Updated 2002-11-20. 版本 1.1
::
:: 功能:通过日历日期获取 ISO 8601 星期日期。
::       适用于 NT4/2000/XP/2003.
:: 
:: 参数:%1 待转换的年,两位或者四位(传值调用)
::       %2 待转换的月,可以以零开头(传值调用)
::       %3 待转换的日,可以以零开头(传值调用)
::       %4 该变量用于接收年份,四位(引用调用)
::       %5 该变量用于接收日历星期,两位,01 到 53(引用调用)
::       %6 该变量用于接收星期的第几天,一位,1 到 7(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
set yy=%1&set mm=%2&set dd=%3
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,Jd=153*m+2
set /a Jd=Jd/5+dd+y*365+y/4-y/100+y/400-32045
set /a y=yy+4798,Jp=y*365+y/4-y/100+y/400-31738,t=Jp+3,Jp=t-t%%7
set /a y=yy+4799,Jt=y*365+y/4-y/100+y/400-31738,t=Jt+3,Jt=t-t%%7
set /a y=yy+4800,Jn=y*365+y/4-y/100+y/400-31738,t=Jn+3,Jn=t-t%%7
set /a Jr=%Jp%,yn=yy-1,yn+=Jd/Jt,yn+=Jd/Jn
if %Jd% GEQ %Jn% (set /a Jr=%Jn%) else (if %Jd% GEQ %Jt% set /a Jr=%Jt%)
set /a diff=Jd-Jr,cw=diff/7+1,wd=diff%%7,wd+=1
if %cw% LSS 10 set cw=0%cw%
endlocal&set %4=%yn%&set %5=%cw%&set %6=%wd%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

参数

%1 待转换的年,两位或者四位(传值调用)
%2 待转换的月,可以以零开头(传值调用)
%3 待转换的日,可以以零开头(传值调用)
%4 该变量用于接收年份,四位(引用调用)
%5 该变量用于接收日历星期,两位,01 到 53(引用调用)
%6 该变量用于接收星期的第几天,一位,1 到 7(引用调用)

返回值

见上述参数。

实例

@echo off & setlocal ENABLEEXTENSIONS
call :GetDate y d m
call :DateToWeek %y% %m% %d% yn cw dw
echo/今天(ISO 8601 星期日期格式)是:%yn%-W%cw%-%dw%
goto :EOF

备注

无。

参考

WeekToDate


9、DayName

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:DayName %d% day
::
:: 作者:Ritchie Lawrence, 2002-10-04. 版本 1.0
::
:: 功能:通过星期的第几天来获取该日的星期名称,1=星期一, 7=星期日。
::       适用于 NT4/2000/XP/2003.
:: 
:: 参数:%1 待转换的星期的第几天,1 到 7(传值调用)
::       %2 该变量用于接收该日的星期名称(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
for /f "tokens=%1" %%a in ('echo/星期一 星期二 星期三 星期四 星期五^
  星期六 星期日') do endlocal&set %2=%%a&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

参数

%1 待转换的星期的第几天,1 到 7(传值调用)
%2 该变量用于接收该日的星期名称(引用调用)

返回值

见上述参数。

实例

@echo off & setlocal ENABLEEXTENSIONS
call :DayName 3 day
echo/星期的第三天是:%day%
goto :EOF 


备注

1 代表星期一,7代表星期日。

参考

DayNumberDateToWeekWeekToDate


10、DayNumber

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:DayNumber %Weekday% dow
::
:: 作者:Ritchie Lawrence, 2003-05-14. 版本 1.0
::
:: 功能:通过星期名称获取该天是星期的第几天。如果没有匹配值,则返回空。
::       适用于 NT4/2000/XP/2003.
:: 
:: 参数:%1 待转换的星期名称(传值调用)
::       %2 该变量用于接收该日是星期的第几天(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS & set i=0
for %%a in (星期一 星期二 星期三 星期四 星期五 星期六 星期日) do (
  set /a i+=1 & echo/%1|findstr /i /b "%%a" >nul && call set dow=%%i%%)
endlocal&set %2=%dow%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

参数

%1 待转换的星期名称(传值调用)
%2 该变量用于接收该日是星期的第几天(引用调用)

返回值

如果星期名称是非法的,返回值将会为空。

实例

@echo off & setlocal ENABLEEXTENSIONS
call :DayNumber 星期二 dow
echo/星期二是一个星期中的第 %dow% 天
goto :EOF 
 

 

备注

星期一是 1,星期日是 7。

参考

DayNameDateToWeekWeekToDate


11、DaysToDate

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:DaysToDate %days% yy mm dd
::
:: 作者:Ritchie Lawrence, 2002-06-15. 版本 1.1
::
:: 功能:从 1970-01-01 到指定日期之间所经过的天数对应的日历日期。
::       适用于 NT4/2000/XP/2003.
:: 
:: 参数:%1 从 1970-01-01 到指定日期之间所经过的天数(传值调用)
::       %2 该变量用于接收年,四位(引用调用)
::       %3 该变量用于接收月,两位,01-12(引用调用)
::       %4 该变量用于接收日,两位,01-31(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
set /a a=%1+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
endlocal&set %2=%yy%&set %3=%mm%&set %4=%dd%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

参数

%1 从 1970-01-01 到指定日期之间所经过的天数(传值调用)
%2 该变量用于接收年,四位(引用调用)
%3 该变量用于接收月,两位,01-12(引用调用)
%4 该变量用于接收日,两位,01-31(引用调用)

返回值

见上述参数。

实例

@echo off & setlocal ENABLEEXTENSIONS
call :DaysToDate 12345 y m d
echo/1970-01-01 加上 12345 天是:%y%-%m%-%d%
goto :EOF

Remarks

和 DateToDays 函数一起使用,可以作为一个指定日期的日期函数解决方案。

参考

DateToDays


12、GetDate

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:GetDate yy mm dd
::
:: 作者:Ritchie Lawrence, 2002-06-15. 版本 1.0
::
:: 功能:把本地系统日期赋值给参数 1 到 3。
:: 适用于 NT4/2000/XP/2003.
:: 
:: 参数:%1 该变量用于接收年,四位(引用调用)
:: %2 该变量用于接收月,两位,01 到 12(引用调用)
:: %3 该变量用于接收日,两位,01 到 31(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
::set t=2&if "%date%z" LSS "A" set t=1
::for /f "skip=1 tokens=2-4 delims=(-)" %%a in ('echo/^|date') do (
:: for /f "tokens=%t%-4 delims=.-/ " %%d in ('date/t') do (
:: set %%a=%%d&set %%b=%%e&set %%c=%%f))
set "first=" 
for /f "tokens=1-3 delims=.-/ " %%a in ('date/t') do (
if not defined first set first=1&set yy=%%a&set mm=%%b&set dd=%%c)
endlocal&set %1=%yy%&set %2=%mm%&set %3=%dd%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

参数

%1 该变量用于接收年,四位(引用调用)
%2 该变量用于接收月,两位,01 到 12(引用调用)
%3 该变量用于接收日,两位,01 到 31(引用调用)

返回值

见上述参数。

实例

@echo off & setlocal ENABLEEXTENSIONS
call :GetDate y m d 
echo/今天是:%y%-%m%-%d%
pause>nul
goto :EOF

备注

这个函数依赖于英文版 Windows 的区域设置。对于非英文版的 Windows,你可能需要根据 DATE 命令的输出结果来修改函数的最后一行。在命令行提示符中输入 DATE,然后按两次回车键。经典法语版本 Windows 的输出是:

La date du jour est : 31/01/2007
Entrez la nouvelle date : (jj-mm-aa)

在第二行中,“aa”表示年,“jj”表示月,所以你需要编辑函数的最后一行,把“yy”变成“aa”,把“dd”变成“jj”。像这样:

endlocal&set %1=%aa%&set %2=%mm%&set %3=%jj%&goto :EOF

要想进一步学习该函数,参阅 the alt.msdos.batch.nt 中的 "格式化日期"。

参考

GetTime


13、GetTime

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:GetTime hh mm ss tt
::
:: 作者:Ritchie Lawrence, 2007-05-12. 版本 1.3
::
:: 功能:把本地系统日期赋值给参数 1 到 4。
:: 适用于 NT4/2000/XP/2003
:: 
:: 参数:%1 该变量用于接收小时,两位,00 到 23(引用调用)
:: %2 该变量用于接收分钟,两位,00 到 59(引用调用)
:: %3 该变量用于接收秒钟,两位,00 到 59(引用调用)
:: %4 该变量用于接收百分之一秒,两位,00 到 99(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
set "first=" 
for /f "tokens=2-5 delims=:,. " %%a in ('echo/^|time') do (
if not defined first set first=1&set hh=%%a&set mm=%%b&set ss=%%c&set cs=%%d)
if 1%hh% LSS 20 set hh=0%hh%
endlocal&set %1=%hh%&set %2=%mm%&set %3=%ss%&set %4=%cs%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

参数

%1 该变量用于接收小时,两位,00 到 23(引用调用)
%2 该变量用于接收分钟,两位,00 到 59(引用调用)
%3 该变量用于接收秒钟,两位,00 到 59(引用调用)
%4 该变量用于接收百分之一秒,两位,00 到 99(引用调用)

返回值

见上述参数。

实例

@echo off & setlocal ENABLEEXTENSIONS
call :GetTime hh mm ss tt
echo/现在时间是:%hh%:%mm%:%ss%
pause>nul
goto :EOF

备注

这个函数依赖于英文版 Windows 的区域设置。

更新:在delims后面增加了一个都好作为列分隔符 - 感谢“Alvydas”。

参考

GetDate


14、MJDToDate

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:MJDToDate %MJD% yy mm dd
::
:: 作者:Ritchie Lawrence, 2002-06-15. 版本 1.1
::
:: 功能:把一个修正儒略日(MJD)日期转换为协调世界时(UTC)
::       参考日期(第零天)是 1858 年 11 月 17 日
::       适用于 NT4/2000/XP/2003.
:: 
:: Args: %1 待转换修正儒略日(传值调用)
::       %2 待转换的年,四位(引用调用)
::       %3 待转换的月,两位,范围是 01 到 12(引用调用)
::       %4 待转换的日,两位,范围是 01 到 31(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
set /a a=%1+2432045,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
endlocal&set %2=%yy%&set %3=%mm%&set %4=%dd%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 

Parameters

%1 待转换修正儒略日(传值调用)
%2 待转换的年,四位(引用调用)
%3 待转换的月,两位,范围是 01 到 12(引用调用)
%4 待转换的日,两位,范围是 01 到 31(引用调用)

返回值

见上述参数。

实例

@echo off & setlocal ENABLEEXTENSIONS
call :MJDToDate 55555 y m d
echo/修正儒略日 55555 是:%y%-%m%-%d% (圣诞节!)

备注

和 DateToMJD 函数一起使用,可以作为一个指定日期的日期函数解决方案。比如,使用 DateToMJD 把一个日期转换为修正儒略日(MJD),然后加上/减去一个天数, 最后再用 MJDToDate 转换为日期。

参考

DateToMJD


15、MinsToDate

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:MinsToDate %mins% yy mm dd hh nn
::
:: 作者:Ritchie Lawrence, updated 2003-07-13. 版本 1.1
::
:: 功能:把自从 1970-01-01 00:00 所经过的分钟数转换为日历日期。
::       适用于 NT4/2K/XP/2003.
:: 
:: 参数:%1 待转换为日历日期的分钟数(传值调用)
::       %2 该变量用于接收年,四位(引用调用)
::       %3 该变量用于接收月,两位,范围是 01 到 12(引用调用)
::       %4 该变量用于接收日,两位,范围是 01 到 31(引用调用)
::       %5 该变量用于接收小时,两位,范围是 00 到 23(引用调用)
::       %6 该变量用于接收分钟,两位,范围是 00 到 59(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
set /a i=%1,nn=i%%60,i/=60,hh=i%%24,dd=i/24,i/=24
set /a a=i+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
(if %hh% LSS 10 set hh=0%hh%)&(if %nn% LSS 10 set nn=0%nn%)
endlocal&set %6=%nn%&set %5=%hh%&set %4=%dd%&^
set %3=%mm%&set %2=%yy%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

参数

%1 待转换为日历日期的分钟数(传值调用)
%2 该变量用于接收年,四位(引用调用)
%3 该变量用于接收月,两位,范围是 01 到 12(引用调用)
%4 该变量用于接收日,两位,范围是 01 到 31(引用调用)
%5 该变量用于接收小时,两位,范围是 00 到 23(引用调用)
%6 该变量用于接收分钟,两位,范围是 00 到 59(引用调用)

返回值

见上述参数。

实例

@echo off & setlocal ENABLEEXTENSIONS
call :GetDate y m d
call :GetTime hh mm ss tt
call :DateToMins %y% %m% %d% %hh% %mm% mins
set /a mins+=15
call :MinsToDate %mins% y m d hh mm
echo/15分钟之后的日期时间是:%y%-%m%-%d% %hh%:%mm%
goto :EOF 
 

备注

和 DateToMins 函数一起使用,可以作为一个指定分钟的日期函数解决方案。

分钟范围是从 0 到 2147483647 或者 (2^31)-1 ,也就是日期范围从 1970-01-01 00:00 到 6053-01-23 02:07。

参考

DateToMins


16、MonthName

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:MonthName %mm% month
::
:: 作者:Ritchie Lawrence, 2002-10-04. 版本 1.0
::
:: 功能:通过某个月是当年的第几个月来获取该月名称。
::       适用于 NT4/2000/XP/2003.
:: 
:: 参数:%1 某个月是当年的第几个月,范围是 1 到 12 或者 01 到 12(传值调用)
::       %2 该变量用于接收该月的名称(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS&set /a m=100%1%%100
for /f "tokens=%m%" %%a in ('echo/一月 二月 三月 四月 五月 六月 七月 八月^
  九月 十月 十一月 十二月'
) do endlocal&set %2=%%a&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

参数

%1 某个月是当年的第几个月,范围是 1 到 12 或者 01 到 12(传值调用)
%2 该变量用于接收该月的名称(引用调用)

返回值

见上述参数。

实例

@echo off & setlocal ENABLEEXTENSIONS
call :GetDate yy mm dd
call :MonthName %mm% month
echo/当前的月份是:%month%
goto :EOF 
 

备注

无。

参考

MonthNumber


17、MonthNumber

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:MonthNumber %month% mm
::
:: 作者:Ritchie Lawrence, 2003-05-14. 版本 1.0
::
:: 功能:通过月份名称来获取该月是当年的第几个月。
::       返回值是 01 到12,如果没有匹配项,将返回空。
::       适用于 NT4/2000/XP/2003.
:: 
:: 参数:%1 待转换的月份名称,范围是一月到十二月(传值调用)
::       %2 该变量用于接收此月是当年的第几个月(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS & set i=0
for %%a in (一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月^ 十二月) do (
  set /a i+=1 & echo/%1|findstr /i /b "%%a" >nul && call set mm=%%i%%)
(if 1%mm% LSS 110 set mm=0%mm%) & endlocal&set %2=%mm%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

参数

%1 待转换的月份名称,范围是一月到十二月(传值调用)
%2 该变量用于接收此月是当年的第几个月(引用调用)

返回值

返回值是 01 到12,如果没有匹配项,将返回空。

实例

@echo off & setlocal ENABLEEXTENSIONS
call :MonthNumber 四月 mm
echo/四月是第 %mm% 个月
goto :EOF

备注

无。

参考

MonthName


18、OrdinalToDate

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:OrdinalToDate %year% %doy% yy mm dd
::
:: 作者:Ritchie Lawrence, 2002-09-29. 版本 1.0
::
:: 功能:通过 ISO 8601 序号日期获取日历日期。
::       适用于 NT4/2000/XP/2003.
:: 
:: 参数:%1 待转换的年,两位或者四位(传值调用)
::       %2 一年中的第几天,001 到 366(传值调用)
::       %3 该变量用于接收年,四位(引用调用)
::       %4 该变量用于接收月,两位,范围是 01 到 12(引用调用)
::       %5 该变量用于接收日,两位,范围是 01 到 31(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
for /f "tokens=1-2" %%a in ('echo/%1 %2') do set /a yy=%%a,o=1%%b%%1000
set /a z=14-1,z/=12,y=yy+4800-z,m=1+12*z-3,j=153*m+2
set /a j=j/5+1+y*365+y/4-y/100+y/400-2432046,j+=o-1
set /a a=j+2432045,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
endlocal&set %3=%yy%&set %4=%mm%&set %5=%dd%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

 

参数

%1 待转换的年,两位或者四位(传值调用)
%2 一年中的第几天,001 到 366(传值调用)
%3 该变量用于接收年,四位(引用调用)
%4 该变量用于接收月,两位,范围是 01 到 12(引用调用)
%5 该变量用于接收日,两位,范围是 01 到 31(引用调用)

返回值

见上述参数。

实例

@echo off & setlocal ENABLEEXTENSIONS
call :OrdinalToDate 2000 090 y m d
echo/2000年的第90天是:%y%-%m%-%d%
goto :EOF

备注

第二个参数(一年中的第几天)的范围必须是 001 到 366。

参考

DateToOrdinal


19、SecsToDate

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:SecsToDate %secs% yy mm dd hh nn ss
::
:: 作者:Ritchie Lawrence, updated 2002-07-24. 版本 1.1
::
:: Func: 把自从 1970-01-01 00:00:00 所经过的秒钟数转换为日期。
::       适用于 NT4/2000/XP/2003.
:: 
:: 参数:%1 所经过的秒钟数(传值调用)
::       %2 该变量用于接收年,四位(引用调用)
::       %3 该变量用于接收月,两位,范围是 01 到 12(引用调用)
::       %4 该变量用于接收日,两位,范围是 01 到 31(引用调用)
::       %5 该变量用于接收小时,两位,范围是 00 到 23(引用调用)
::       %6 该变量用于接收分钟,两位,范围是 00 到 59(引用调用)
::       %7 该变量用于接收秒钟,两位,范围是 00 到 59(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
set /a i=%1,ss=i%%60,i/=60,nn=i%%60,i/=60,hh=i%%24,dd=i/24,i/=24
set /a a=i+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
(if %hh% LSS 10 set hh=0%hh%)&(if %nn% LSS 10 set nn=0%nn%)
if %ss% LSS 10 set ss=0%ss% 
endlocal&set %7=%ss%&set %6=%nn%&set %5=%hh%&^
set %4=%dd%&set %3=%mm%&set %2=%yy%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

参数

%1 所经过的秒钟数(传值调用)
%2 该变量用于接收年,四位(引用调用)
%3 该变量用于接收月,两位,范围是 01 到 12(引用调用)
%4 该变量用于接收日,两位,范围是 01 到 31(引用调用)
%5 该变量用于接收小时,两位,范围是 00 到 23(引用调用)
%6 该变量用于接收分钟,两位,范围是 00 到 59(引用调用)
%7 该变量用于接收秒钟,两位,范围是 00 到 59(引用调用)

返回值

见上述参数。

实例

这个实例中使用了 REG.EXE v2.0 来获取 Windows 注册表中的 InstallDate 键值,(该键值存放了自从 1970-01-01 00:00:00 所经过的秒钟数)然后转换为日期时间。注,第二个 FOR 循环应避免使用制表符(TAB),因为第一个 FOR 循环的 DELIMS 声明了使用制表符(TAB)作为列分隔符。

@echo off & setlocal ENABLEEXTENSIONS
:: requires REG.EXE Version 2.0 or later
set key="HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
set val="InstallDate"
for /f "delims=" %%a in ('reg query %key% /v %val%^|find %val%') do (
  for %%b in (%%a) do set secs=%%b
)
call :SecsToDate %secs% yy mm dd hh nn ss
echo/Windows 的安装日期是:%yy%-%mm%-%dd% %hh%:%nn%:%ss%
goto :EOF 
 

备注

和 DateToSecs 函数一起使用,可以作为一个指定秒钟的日期函数解决方案。另外,很多 Windows 注册日期也包含了自从 1970-01-01 00:00:00 (UTC,协调世界时)以来的秒数。
 

秒钟数范围是从 0 到 2147483647 或者 (2^31)-1 ,也就是日期范围 1970-01-01 00:00:00 到 2038-01-19 03:14:07。

参考

DateToSecs


20、WeekToDate

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
:WeekToDate %yn% %cw% %dw% yy mm dd
::
:: 作者:Ritchie Lawrence, 2002-10-04. 版本 1.0
::
:: 功能:通过 ISO 8601 星期日期获取日历日期。
::       适用于 NT4/2000/XP/2003.
:: 
:: 参数:%1 待转换的年,两位或者四位(传值调用)
::       %2 待转换的日历星期,两位,01 到 53(传值调用)
::       %3 待转换的星期的第几天,一位,1 到 7(传值调用)
::       %4 该变量用于接收年,四位(引用调用)
::       %5 该变量用于接收月,两位,范围是 01 到 12(引用调用)
::       %6 该变量用于接收日,两位,范围是 01 到 31(引用调用)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS
set yn=%1&set cw=%2&set dw=%3
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
set /a cw=100%cw%%%100,d=3210654
set /a z=14-1,z/=12,y=yn+4800-z,m=1+12*z-3,Jt=153*m+2
set /a Jt=Jt/5+1+y*365+y/4-y/100+y/400-32045,wt=Jt%%7
call set at=%%d:~%wt%,1%%&set /a Jt=at+Jt-3 
set /a Jt=Jt+7*cw+dw-9,a=Jt+32045,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
endlocal&set %4=%yy%&set %5=%mm%&set %6=%dd%&goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 

参数

%1 待转换的年,两位或者四位(传值调用)
%2 待转换的日历星期,两位,01 到 53(传值调用)
%3 待转换的星期的第几天,一位,1 到 7(传值调用)
%4 该变量用于接收年,四位(引用调用)
%5 该变量用于接收月,两位,范围是 01 到 12(引用调用)
%6 该变量用于接收日,两位,范围是 01 到 31(引用调用)

返回值

见上述参数。

实例

@echo off & setlocal ENABLEEXTENSIONS
call :WeekToDate 2000 15 2 yy mm dd
echo/2000年第15个星期的第二天是:%yy%-%mm%-%dd%
goto :EOF 
 

备注

无。

参考

DateToWeek


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【Excel问伊答50】TEXT函数把假日期整容成真日期
SQL SERVER日期函数详细用法
09 SQL函数的使用
SQL_Server_2005_日期和时间函数(描述及
TEXT,一个功能多到它亲爹都搞不清楚的函数
掌握解决函数问题的这些绝招,轻松多拿20分!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服