使用时间戳作为文件名一部分的“标准”格式


85

我搜索了使用日期/时间作为文件名一部分的标准格式,但无法解决任何问题。

我的问题分为两个部分:

正在使用时间戳 实施独特 在文件名中是不好的做法?

我可以从创建日期开始获取时间,并序列化文件名(file0001.bak,file0002.bak等),但是仅添加时间戳就可以执行诸如的文件操作mv 2011-01* somewhere/。使用这种命名系统有不利之处吗?

我使用的格式是YYYY-mm-dd_HH-MM-SS

我应该使用更好的格式吗?

使用这种格式时,我应该关注文件系统兼容性,str_to_date_parsing问题等吗?

谢谢!

编辑:

我可能想省略强制唯一性位,因为它是单个用户使用cronjob生成备份的(不应有任何并发​​问题)。


9
通常,我只使用YYYYmmddHHMMSS,然后可以按数字或词法对其进行排序/过滤。
2011年

我使用“ yyyy mmdd hhmm”。我的公司业务遍及全球,因此我使用GMT进行时间戳记。因此,在我撰写本文时,它应该是“ 2011 0325 0245”,因为那是现在伦敦的时间(目前它们仍处于标准时间)。如果我想指定本地时间(对我来说是东部时间),那么我将使用“ yyyy mmdd hhmm ET”。
Mike Rosenblum

自大纪元以来,我使用秒数,因此无需处理时区,leap年和日光节约时间。也使日期/时间数学更容易。
Dietbuddha


2
我在blog.xam.de/2016/07/…中的帖子中提出了一种基于ISO 8601的格式-如果我们可以同意一种格式,这将使我们的世界更轻松:-)
MaxVölkel博士

Answers:


62

您应该考虑使用ISO 8601格式(2013-04-01T13:01:02)。是的,这些东西都有标准。冒号和连字符可以省略。

我通常使用的格式字符串%Y%m%dT%H%M%S产生20130401T130102。根据要求,我忽略了左侧的值。在bash脚本中,我得到的日期如下:

LOGDATE=$(date +%Y%m%dT%H%M%S)

32
如果您使用的是Windows系统,肯定必须省略冒号,因为冒号在文件名中是非法的!
Carson63000 2011年

2
对于使用strftime的用户,格式字符串为"%Y-%m-%dT%H:%M:%S%z"
Alec Jacobson

6
我使用YYYY-MM-DD-HHMMSSSS在某些情况下可能会省略)。日期部分可读性强,而时间部分对于大多数目的而言也足够可读。
Keith Thompson 2014年

15
是否为标准,“ 20130401T1301102”不是非常用户友好。当我看到名称中带有此类时间戳的软件日志文件时,我的眼睛受伤了。
Zero3 2015年

1
2019.04.01-13.01.02.JPG或类似的名称(例如190401-130102.JPG:)对眼睛更有益。@ Zero3
S.Serpooshan

4

我搜索了使用日期/时间作为文件名一部分的标准格式,但无法解决任何问题。

我的问题分为两个部分:

使用时间戳来强制执行唯一文件名是一种不好的做法吗?

不,还好。

我可以从创建日期开始获取时间并序列化文件名(file0001.bak,file0002.bak等)

对它们进行顺序编号需要更多工作。可以将时间戳记视为递增但非顺序的编号。

但只要加上时间戳,就可以在某处/执行文件操作,例如mv 2011-01 *。使用这种命名系统有不利之处吗?

不,它一直都在做。

我使用的格式是YYYY-mm-dd_HH-MM-SS。

很好,因为它们将按时间顺序排序。我会失去下划线,只是因为键入连字符会更容易。

我应该使用更好的格式吗?

并不是的。


2
我会说“使用ISO标准时间格式”。因此,YYYY-mm-ddTHH:MM:SS(或yyyymmddTHHMMSS)。
Vatine 2011年

3

这取决于您的应用程序。有时可以使用您描述的时间戳。有时,当需要考虑名称冲突时,可以使用GUID生成器。


2

您使用的格式很好,但是如果您想要唯一性并且时间没有其他意义,那么如果该应用程序被多个用户同时使用,并且它们都导致文件在同一时间创建,则您的应用程序可能会出现并发问题夹。如果只需要唯一性,则可以考虑生成GUID并删除所有无效字符(例如花括号和破折号)并将其用作文件名。



-3

联邦调查局有一个“单一”用户问题,即备份他们从各地警察局收到的1亿个刑事逮捕指纹...

...它们以日期开头:yyyymmdd

我不知道他们将如何继续。我继续说hhmm,对我来说就是这样做。

使用GMT / Zulu听起来像是一个全球解决方案的好主意。我个人使用ET,FBI也“个人”使用ET,因为这是他们的总部。


3
这并没有增加其他帖子中更广泛的讨论的内容,这些讨论实际上涉及法律字符,排序和唯一性等方面。
马丁·彼得
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.