Skip to content

About

No description or website provided.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

AutoDateShift(系统日期自动切换)

简体中文 | English

按预设规则自动调整 Windows 系统日期的小工具,带 GUI 管理界面与后台服务。适用于打铃、排课、值班等仅按「星期几」调度任务的软件,在法定节假日调休时保持调度正确。


功能特性

  • 两种规则模式
    • 按星期:将指定日期调整为最近的某个星期几(±3 天内取最近)——适用于仅按星期几调度任务的软件(如打铃、排课、值班系统)
    • 按日期:将指定日期调整为任意目标日期,偏移天数不限
  • 自动还原:无规则的日期自动恢复真实日期,时分秒始终不变
  • 双进程架构:GUI 管理界面 + 无窗口后台服务(默认每 60 秒自检),规则仅服务运行时生效
  • 开机自启:基于任务计划(SYSTEM 账户、最高权限),无人登录也能运行;断电重启策略可选(记忆上次状态 / 自动开启 / 保持关闭)
  • 时间校准:支持 NTP 网络校时(预置 5 个常用服务器)与手动校时,内网离线可用
  • 运维留痕:一行一条的运行日志([时间] [来源] 内容),错误含版本号与原因,按月分文件,可筛选导出
  • 中英文界面:即时切换,布局随文本长度自适应
  • 单实例运行:重复启动激活已有窗口;关闭窗口默认最小化到托盘

运行环境

  • Windows 7 / Server 2008 R2 及以上(含 Server 2012/2016/2019/2022、Windows 10/11)
  • 无需安装运行时:依赖系统自带 .NET Framework 4.0
  • 修改系统时间需管理员权限;后台服务以 SYSTEM 账户运行

编译

无需安装 Visual Studio,直接双击 build.bat(调用系统自带的 .NET 4.0 编译器),生成单文件 AutoDateShift.exe。

编译后建议执行自检(19 项断言应全部通过):

AutoDateShift.exe --selftest --datadir %TEMP%\ads_test

使用

  1. 右键 AutoDateShift.exe → 以管理员身份运行
  2. 「运行状态」页启动后台服务(建议同时勾选「开机自启(本工具)」)
  3. 「调整规则」页录入规则并保存

详见 部署说明.md。

非管理员启动时程序会进入只读模式(可查看规则、状态与日志,不能修改),这是设计行为。在「运行状态」页勾选「以管理员身份重新启动」即可提权。

卸载

  1. 停止后台服务并取消开机自启
  2. 退出程序,删除 exe 与数据目录(默认 C:\ProgramData\AutoDateShift)
  3. 若日期仍处于调整状态,手动修正系统日期

若 exe 已丢失:以管理员身份运行 应急卸载.bat 清理计划任务与进程。

安全性

  • 不主动联网、不上传数据(仅 NTP 校时时访问一次所选时间服务器)
  • 规则、状态与日志均为本机明文 JSON / 文本,可直接审计
  • 界面图标由代码矢量绘制,无外部资源文件

免责声明

本软件部分代码由 AI 辅助生成。修改系统时间可能影响依赖系统日期的其他软件(授权许可、证书、计划任务、文件时间戳等)。请在充分评估后使用,由此产生的后果由使用者自行承担。

许可证

Copyright (c) 2026 rekimaple. 基于 MIT 许可证 发布。

About

No description or website provided.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages