feat(cli): time --tz 时区偏移(默认本机时区的修正项),151 测试全绿
This commit is contained in:
1 parent
29e4c2b10c
commit
2c10e6b3c8
2 files changed
+18
No files matched your search
@@ -103,6 +103,7 @@ def build_parser() -> argparse.ArgumentParser:
|
||||
|
||||
sp = sub.add_parser("time", help="对时(默认当前本地时间)")
|
||||
sp.add_argument("datetime", nargs="?", help="ISO8601,如 2026-07-24T15:30:00")
|
||||
sp.add_argument("--tz", type=float, help="时区偏移(小时,如 8=北京;仅无显式时间时生效)")
|
||||
|
||||
sp = sub.add_parser("mode", help="显示模式")
|
||||
sp.add_argument("name", choices=sorted(P.MODES))
|
||||
@@ -191,6 +192,9 @@ async def _run_command(args, t):
|
||||
if c == "time":
|
||||
dt = (datetime.datetime.fromisoformat(args.datetime)
|
||||
if args.datetime else None)
|
||||
if dt is None and args.tz is not None:
|
||||
tz = datetime.timezone(datetime.timedelta(hours=args.tz))
|
||||
dt = datetime.datetime.now(tz).replace(tzinfo=None)
|
||||
await C.set_time(t, dt)
|
||||
return {"set": (dt or datetime.datetime.now()).isoformat()}
|
||||
if c == "mode":
|
||||
|
||||
Reference in new issue
Block a user