这个和 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。

回复