我昨天晚上(德国时间周日午夜之前)做了以下事情:
今天的日期
$ LC_TIME="en.GB.UTF8" date --iso-8601
2025-01-12
- 今天的日期(星期几
$ LC_TIME="en.GB.UTF8" date +%u
7
$ LC_TIME="en.GB.UTF8" date +%a
Sun
问题
- 由于一周从周一到周日开始,因此本周周一应该是 2025-01-06
$ LC_TIME="en_GB.UTF-8" date -d "this-week-monday" --iso-8601
2025-01-13
$ LC_TIME="en_IE.UTF-8" date -d "this-week-monday" --iso-8601
2025-01-13
$ LC_TIME="en_IN.UTF-8" date -d "this-week-monday" --iso-8601
2025-01-13
$ LC_TIME="en_US.UTF-8" date -d "this-week-monday" --iso-8601
2025-01-13
$ LC_TIME="en_DE.UTF-8" date -d "this-week-monday" --iso-8601
2025-01-13
$ LC_TIME="en_JP.UTF-8" date -d "this-week-monday" --iso-8601
2025-01-13
$ LC_TIME="en_DK.UTF-8" date -d "this-week-monday" --iso-8601
2025-01-13
$ LC_TIME="en_CA.UTF-8" date -d "this-week-monday" --iso-8601
2025-01-13
$ LC_TIME="en_AU.UTF-8" date -d "this-week-monday" --iso-8601
2025-01-13
另一个观察
我今天(2025-01-13)做了这件事(在德国)
$ LC_TIME="en_AU.UTF-8" date -d "this-week-sunday" --iso-8601
2025-01-19
$ LC_TIME="en_AU.UTF-8" date -d "last-week-sunday" --iso-8601
2025-01-12
$ LC_TIME="en_AU.UTF-8" date -d "next-week-sunday" --iso-8601
2025-01-26
问题
因此,今天它似乎给出了部分正确的结果。今天的输出有什么问题:如果昨天的输出this-week-monday
是2025-01-13
这样的,计算机不知何故在每个地区都将星期日算作一周的第一天(我上面显示的)。所以"this-week-sunday"
应该是昨天而不是 2025-01-19(如今天所示)。
概括
昨天
$ LC_TIME="en_GB.UTF-8" date -d "this-week-monday" --iso-8601
2025-01-13
今天
env -i bash --norc --noprofile
bash-5.2$ LC_TIME="en_AU.UTF-8" date -d "this-week-sunday" --iso-8601
2025-01-19
问题:如果昨天(2025-01-12,星期日)this-week-monday
是 13 号,那么今天this-week-sunday
应该是昨天而不是2025-01-19
为什么我得到错误的日期输出?