# 时间偏移

时间偏移字符串可以用在不同的位置，以执行相对日期和时间更改。其中一些可以使用的位置包括：

* [元数据编辑器](https://github.com/Chaoses-Ib/DirectoryOpus/blob/main/Manual/file_operations/.zh.md) 中的各种时间戳属性，如 **创建日期**、**修改日期**、**数字化日期** 和 **拍摄日期**。
* [更改属性和时间戳](https://chaoses-ib.gitbook.io/directory-opus/guan-fang-shou-ce/readme.zh-2/changing_attributes.zh) 对话框。
* 使用 `SetAttr` 命令以编程方式。

时间偏移字符串的格式为：

* `<date-shift> <time-shift>` 在想要调整日期和时间时，或
* `<time-shift>` 在仅想要修改时间时。

当仅给出单个字符串时，则假定该字符串为 `<time-shift>` 字符串，这意味着不能仅仅通过不指定时间值来调整日期（尽管给定的时间值可以为 0，这意味着时间不会实际更改）。

`<date-shift>` 部分有三种允许的格式：

* `[+-]Y:M:D` - 年：月：日，带有可选的正修饰符或负修饰符
* `[+-]M:D` - 月：日，带有可选的正修饰符或负修饰符
* `[+-]D` - 日，带有可选的正修饰符或负修饰符

`<time-shift>` 部分也有三种允许的格式：

* `[+-]H:M:S` - 时：分：秒，带有可选的正修饰符或负修饰符
* `[+-]H:M` - 时：分，带有可选的正修饰符或负修饰符
* `[+-]H` - 时，带有可选的正修饰符或负修饰符

这意味着可以添加或减去当前日期值中的年、月、日、小时、分和秒。

例如，假设刚刚拍摄了 100 张数码照片，却突然意识到忘记调整相机的时钟以将夏时制开始时间考虑在内。可以通过为时间偏移字符串指定 `+1`（或仅 `1`，因为 **+** 是默认值）来对此进行修复。根据以上规则，

* 仅提供了一个字符串 (`+1`)，这意味着它是一个 `<time-shift>` 值
* 仅提供了一个数字 (`1`)，这意味着它是一个 **H** 值 - 表示小时

这会向所选图像的当前时间戳中添加一小时。

以下是一些其它示例：

* `-1:0:0 0` - 从时间戳中减去一年
* `+8:30` - 向时间戳中添加八小时半
* `+3 -0:45` - 添加三天，从时间戳中减去 45 分钟
