是否有跨平台的“时间单位分离”标准?

是否有跨平台的“时间单位分离”标准?

当我创建备份时,date我通常将当前日期作为备份文件的一部分,格式如下:
年-月-日-时:分:秒所以我得到一个像这样的文件:

database-username_database-name---2019-10-10-01:41:11.sql

我有一个问题,如果我将文件存储在 Windows 10 中,则 的三个冒号01:41:11将被编码为一些我不知道的代码,而不是像在 *nix 系统中那样自然地出现。

一个好的解决方案可能是使用分号如 in%H;%M;%S相反%T(相当于%H:%M:%S),因为在 Windows 中使用分号没有问题。

有没有标准时间单位分隔,而不是冒号,它通常可用于分隔 *nix-win 文件中的时间,而不会产生此类跨平台冲突?我想知道你将如何“应对”它。

答案1

日期和时间表示的相关标准是 ISO-8601。对于时代来说,标准表示在小时、分钟和秒之间使用冒号或不使用分隔符。所以我建议完全跳过分隔符:

database-username_database-name---2019-10-10-014111.sql

为了保持一致性,删除年、月和日之间的分隔符也可能是有意义的。

(Windows 上文件名的规则是记录在这里.)

相关内容