什么是asctime格式的由来?

问题描述 投票:16回答:2

为什么特定的字符表示的asctime函数返回,即Www Mmm dd hh:mm:ss yyyy\n,选择,什么是它的起源?该信息的排序似乎特有的我,特别是把时间信息,日期信息之间。这是(或者是这样的),在美国共同日期时间的表示?

c++ c datetime
2个回答
15
投票

这直接从C.也许一年以后增加了过来。另外,\n很奇怪。建设可能是一个方便的功能时,UNIX,并且它得到了使用标准化。

注:此功能是“过时的”,可能会在以后的C.它的版本中删除是由更强大的strftime()取代。

POSIX没有关于选择的理由。

ESR写道:

在旧的Unix以下功能是可用来报告的时间和日期为字符串。他们在有线糟糕的设计选择(日期字符串是不可预测的长度且包括一个尾随“\ n”),没有语言环境感知和0之前或之后,9999已经未定义行为多年。

我们也有从手动(1979)see manual pages的第7版数信息。

Somebody (Clive D.W. Feather)寻找相同的信息,你(而是直接把C标准组),但我没有找到答案。只是,C99是因为一些不准确email on the same thread纠正。

我认为这将是很难获得更多的信息。


6
投票

这不是美国通用的表示,和C原理甚至也承认这一点:

7.11本地化

....

日期和时间。标准功能asctime返回一个字符串,其中包括月和星期名的缩写,并返回可能即使在其原籍国被认为是不寻常的格式的各种元素。

事后看来,它是该不该把它做成了标准的功能之一。缺少一个理由证明其包含的是一个明显的迹象。

© www.soinside.com 2019 - 2024. All rights reserved.