这个和 ISO 8601 不一样,ls -l 的时间显示不涉及到信息交换,而且是一个纯粹人类可读的格式。订机票和签合同涉及到双方对时间的理解问题,所以需要统一时间格式,而且还涉及到机器处理的问题,所以提供了一些便于机器读取的格式。
GB-T/ 7408.1 引言:GB/T 7408旨在为信息交换提供标准的日期和时间格式表示法,以最大限度地减少误解、混淆的风险。 On Monday, February 3, 2025 at 7:57:44 PM UTC+8 Funda Wang wrote: > 我主要是一直在想一件事,在 ls -l 这个场景下,我们是否要执行ISO 8601/GB-T 7408,因为这个标准的全称是“日期和时间 > 信息交换表示法”。这个场景严格来说,不符合信息交换的场景,然而 ISO > 8601的网站上举的例子是关于签署合同和机票的,这严格意义上也并不符合信息交换的场景。 > > 这个问题,国内几家主流发行版不是已经成立了一个联盟吗?我前一阵子试图通过 openEuler 社区向国内其它几家发行版询问,openEuler > 社区本身的意见是,这个问题不足以拿到联盟上讨论。 > > GB-T/ 7408.1: https://www.doc88.com/p-98939553262818.html > ISO 8601的网站: https://www.iso.org/iso-8601-date-and-time-format.html > > 在2025年2月3日星期一 UTC+8 01:39:58<Wenbin Lv> 写道: > >> Hello, >> >> ls -l 命令的时间格式是我在 2022 年修改的,当时发了封邮件征求意见( >> https://groups.google.com/g/i18n-zh/c/FAVbnR1jGQo/m/miAVoHLaAwAJ >> ),不过没有人回复。当时比较担心脚本兼容性问题和长度过长的问题,好在改完以后没有人抱怨出了这两种问题。 >> >> 目前的翻译应该不会显示成“一月 3日 12:03”,应该是“ 1月 3日 12:03”(如果你那边显示成“一月”的话,可能是 >> bug?),这个写法在中文里应该已经足够自然。具体效果是: >> >> 中文: >> -rwxr-xr-x 1 lwb lwb 171 2021年12月12日 weather.sh >> drwxr-xr-x 40 lwb lwb 4096 10月23日 01:31 webwml >> 英文: >> -rwxr-xr-x 1 lwb lwb 171 Dec 12 2021 weather.sh >> drwxr-xr-x 40 lwb lwb 4096 Oct 23 01:31 webwml >> >> 如果要让两种时间格式的“xx月xx日”对齐,就无法按自然的中文语序显示时间(比如要改成“01:31 >> 10月23日”)。如果要统一改成一个格式,就和英文原文显示的信息不一致(大部分人应该希望能显示刚刚修改的文件是在几点几分修改的,同时也希望能看到几年前修改的文件是在哪年修改的)。如果统一把年月日时分全显示出来,长度就太长了。所以我觉得目前的版本就挺好,不需要修改。如果你有更好的显示方式,可以提出来。如果有比较小众的需求,可以使用“--time-style”选项或“TIME_STYLE”环境变量进行定制(参见“ls >> >> --help”)。 >> >> Regards, >> Wenbin Lv >> >> On Sunday, February 2, 2025 at 1:22:08 AM UTC+8 Funda Wang wrote: >> >>> Hello, >>> >>> 当前coreutils中的 ls -l 命令默认读取以下字符串用于显示文件时间: >>> >>> #. TRANSLATORS: ls output needs to be aligned for ease of reading, >>> #. so be wary of using variable width fields from the locale. >>> #. Note %b is handled specially by ls and aligned correctly. >>> #. Note also that specifying a width as in %5b is erroneous as strftime >>> #. will count bytes rather than characters in multibyte locales. >>> #: src/ls.c:810 >>> msgid "%b %e %Y" >>> msgstr "%Y年%b%e日" >>> >>> #. TRANSLATORS: ls output needs to be aligned for ease of reading, >>> #. so be wary of using variable width fields from the locale. >>> #. Note %b is handled specially by ls and aligned correctly. >>> #. Note also that specifying a width as in %5b is erroneous as strftime >>> #. will count bytes rather than characters in multibyte locales. >>> #: src/ls.c:823 >>> msgid "%b %e %H:%M" >>> msgstr "%b%e日 %H:%M" >>> >>> 不知这个翻译是否有修改的计划。因为默认六个月内会显示为:一月 3日 >>> 12:03,这真的太难看了,且六个月内的文件和六个月以上的文件的时间格式有较大差异。 >>> >>> Regards >>> >> -- 您收到此邮件是因为您订阅了 Google 群组的“i18n-zh”群组。 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到[email protected]。 如需查看此讨论,请访问 https://groups.google.com/d/msgid/i18n-zh/a4f75bf4-a37d-4ce8-a237-6e501b043649n%40googlegroups.com。
