这是一个有点主观的问题,并不是很重要的大计划的事情,但有些东西,但仍然困扰我定期。似乎没有一个不言自明的方式来把 timestamp in a file name。
目标问题是文件名中的时间戳应该是 分类。但是。NET 可排序日期格式如 "s"("yyyy-MM-ddTHH:mm:ss"
)和 “ u”("yyyy-MM-dd HH:mm:ssZ"
)在文件名中无效,因为’:’字符。
另外,您应该很容易看到是否使用了 普遍时间或当地时间。 实际上,用户似乎更喜欢本地时间而不是通用时间。
我最终大部分使用的是带有基本时间格式的 ISO 8601:
"yyyy-MM-ddTHHmmsszz"
在这些格式中,我当前的本地时间是 "2009-08-08T151800+03"
和 UTC"2009-08-08T121800Z"
还可以自动检测日期时间。类似于 “ K”并使用 "yyyy-MM-ddTHHmmssK"
,但是您必须替换’:’字符。
还有别的建议吗?
编辑: 到目前为止的一些注释:
local time + time zone format "yyyy-MM-ddTHHmmsszz"
is no longer sortable if multiple time zones are involved. In most cases it would make sense to drop the time zone info if it is redundant, and use UTC otherwise.
另外,UTC 应该总是标上“ Z”、“ GMT”或“ UTC”,以防止猜测和错误。