首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >%h和%b在时间上的差别是什么?

%h和%b在时间上的差别是什么?
EN

Stack Overflow用户
提问于 2020-07-18 04:46:30
回答 2查看 168关注 0票数 0

我正在阅读(3)的手册页,我发现了以下内容:

%b根据当前区域设置的缩写月份名称。(从tm_mon.) ..。 %h等价于%b。(SU)

两者是完全相同的,还是有什么不同?是否有一种比另一种更受欢迎的特殊情况?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-18 05:57:23

他们的行为是相等的。然而,%h单Unix规范 (SU)中是标准化的。这是在C89中不存在的一个补充。

实际上从来没有%h会工作的情况,但是%b不会--这意味着您的目标是一个支持%h但不支持%b的Unix系统,它的实现既不符合31年的标准修订版,也不符合它的任何修正案。相反的可能性更大(不幸的是)。

TL;DR:总是使用%b而不是%h

票数 1
EN

Stack Overflow用户

发布于 2020-07-18 05:30:54

他们是一样的。

几十年来,有许多不同的Unix实现,以及在字符串表示和日期之间进行转换的许多不同的函数。其中一些函数使用%b作为缩写月份,有些函数使用%h。随着时间的推移,除strftime之外的所有遗留接口都被废弃,不同的格式代码被合并,不仅与不同的strftime等效,而且还与相关的strptime函数(解析字符串以生成日期)和命令行date实用程序合并。( date的命令行选项之间仍然存在很大差异,但核心格式代码至少是可互操作的。)其结果是,许多格式代码有两个不同的拼写。

大多数现代程序都使用%b,而且您不太可能找到一个只支持%h的系统,至少在博物馆之外是这样。但是%b%h都是由Posix强制要求的,它们的含义是相同的,并且没有任何迹象表明%h正面临反对。所以你用哪一种是你的选择。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62964749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档