date 命令是 DOS(Disk Operating System)和其命令行模拟器(如 Windows 中的 cmd.exe)中最基础和最常用的命令之一,它的主要功能有两个:

- 显示当前的系统日期。
- 设置或更改系统的当前日期。
显示当前日期
这是 date 命令最简单的用法。
语法:
date
示例:
如果你在命令提示符下输入 date 并按回车,系统会显示如下信息:
C:\Users\YourUser> date
当前的日期: 2025年10月27日 星期五
请输入新的日期: (年/月/日)
- 第一行:直接告诉你今天的日期是哪一天,星期几。
- 第二行:系统等待你输入一个新的日期来更改系统时间,如果你只想查看日期而不想修改,直接按回车键即可。
设置或更改日期
当你需要手动调整计算机的系统日期时,可以使用 date 命令。

交互式设置(最常用)
这是最直观的方式,直接输入 date 命令,系统会提示你输入新的日期。
步骤:
- 在命令行中输入
date并按回车。 - 系统会显示当前日期并提示
请输入新的日期: (年/月/日)。 - 按照指定的格式
年/月/日输入新的日期,然后按回车。
示例: 假设当前日期是 2025年10月26日,你想把它改成 2025年10月27日。
C:\Users\YourUser> date
当前的日期: 2025年10月26日 星期四
请输入新的日期: (年/月/日)
2025/10/27
输入完成后,系统会确认更改:

请输入新的日期: (年/月/日)
2025/10/27
注意:
- 格式:DOS 通常支持
YYYY/MM/DD(年/月/日)或MM-DD-YY(月-日-年)等格式,使用YYYY/MM/DD是最不容易出错的。 - 权限:在 Windows 现代版本中,普通用户可能没有权限更改系统时间,你可能需要以管理员身份运行命令提示符才能成功执行此操作。
命令行参数设置(批处理脚本常用)
如果你想在批处理脚本(.bat 或 .cmd 文件)中自动设置日期,而不需要人工干预,可以使用 /t 参数和 > 符号。
语法:
date <new_date>
<new_date> 就是你想要设置的日期字符串。
示例: 在批处理文件中,将日期设置为 2025年1月1日。
@echo off echo 正在将系统日期设置为 2025/01/01... date 2025/01/01 echo 日期设置完成。
更高级的用法(从文件或变量读取日期):
批处理脚本中更常见的用法是先将日期格式化,然后通过重定向符 > 来设置。
示例:
下面的脚本会将日期格式化为 YYYYMMDD 的形式,并设置系统日期,这通常用于创建按日期命名的日志文件。
@echo off
rem --- 获取当前日期并格式化为 YYYYMMDD ---
for /f "tokens=1-4 delims=/ " %%a in ('date /t') do (
set dt=%%c%%a%%b
)
rem --- 显示将要设置的日期 ---
echo 准备将日期设置为: !dt!
pause
rem --- 执行日期设置 ---
date !dt!
echo 日期已成功设置为: !dt!
解释:
date /t:只显示当前日期,不等待输入,输出2025/10/27。for /f ...:这是一个循环命令,用于解析date /t的输出结果。tokens=1-4:提取第1到第4个部分。delims=/:指定分隔符是斜杠 或空格。%%a in ('...'):执行括号内的命令,并将结果逐行处理。set dt=%%c%%a%%b:将提取的三个部分组合起来。%%c是年,%%a是月,%%b是日,dt变量的值就是20251027。
date !dt!:使用!dt!变量的值来设置日期,注意,在批处理文件中需要使用 而不是 来引用被延迟扩展的变量。
date 命令的常用参数
| 参数 | 描述 | 示例 |
|---|---|---|
| 无参数 | 显示当前日期并提示用户输入新日期。 | date |
| /t | 只显示当前日期,不提示用户输入,常用于脚本中获取日期信息。 | date /t |
| <日期字符串> | 直接在命令行后跟日期字符串来设置日期。 | date 2025/12/31 |
在现代 Windows 中的注意事项
虽然 date 命令源于 DOS,但在现代 Windows 的 cmd.exe 中它依然被保留,功能基本一致。
- 权限问题:如前所述,为了安全,Windows 限制了普通用户修改系统时间的权限。
date命令提示“拒绝访问”,请右键点击“命令提示符”,选择“以管理员身份运行”。 - 区域设置:
date命令的默认显示和输入格式会受到 Windows “区域和语言”设置的影响,如果你的系统设置使用MM-DD-YYYY格式,date命令的提示和输入也会相应改变。 - PowerShell 的替代:在现代化的系统管理中,更推荐使用 PowerShell,它的日期处理功能强大得多。
PowerShell 中获取和设置日期的对比:
-
获取日期 (PowerShell):
Get-Date # 或者格式化输出 Get-Date -Format "yyyy/MM/dd"
-
设置日期 (PowerShell):
# 需要管理员权限 Set-Date -Date "2025-01-01"
| 功能 | DOS/cmd 命令 |
备注 |
|---|---|---|
| 显示日期 | date 或 date /t |
date /t 更适合脚本自动化。 |
| 设置日期 | date 2025/10/27 |
需要管理员权限,在批处理中常与变量结合使用。 |
| 格式化日期 | for /f 循环解析 |
date 命令本身不提供格式化,需要借助其他命令。 |
date 命令虽然简单,但在编写批处理脚本、进行系统维护或记录日志时,仍然是一个非常实用且不可或缺的工具。
