首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C中获取DateSeparator

如何在C中获取DateSeparator
EN

Stack Overflow用户
提问于 2015-07-30 08:17:59
回答 3查看 135关注 0票数 0

我希望得到相应的日期分隔符系统的格式设置。在德尔菲,我使用的是System.SysUtils.TFormatSettings.DateSeparator,在C中有这样的东西吗?

EN

回答 3

Stack Overflow用户

发布于 2015-07-30 08:29:00

C语言和标准库不提供任何此类信息。该信息可以从您所针对的任何系统中获取。您如何做到这一点取决于您的目标系统。

票数 3
EN

Stack Overflow用户

发布于 2015-07-30 08:42:11

C语言和标准库不提供任何此类信息。该信息可以从您所针对的任何系统中获取。

感谢您的澄清,目标可以是linux和windows。在这种情况下,我要怎么做?

不同的操作系统需要不同的功能。

例如:

代码语言:javascript
复制
GetDataSeparator()
{
#ifdef _WIN32
    Here goes implementation for Windows
#else
    May be more preprocessor commands and implementations for Linux/Mac
#endif
}

我不确定我是否正确地理解了一切。

对于Windows,可以解析在HKCU\Control Panel\International中找到的值。对于Linux来说,此链接可能是有帮助的。

票数 0
EN

Stack Overflow用户

发布于 2015-07-30 09:20:41

虽然正如其他答案所述,C标准没有提供此信息,但posix确实提供了这些信息。因此,在任何符合posix的系统上,您都可以使用nl_langinfo api获取地区信息。

不过,您将不会获得日期分隔符,但是strftime可以使用的日期格式来显示区域设置的正确格式化日期。如果确实需要日期分隔符,则始终可以解析它以获得日期分隔符,但是对于大多数情况下,实际的日期格式可能会更有用。

Posix对Windows的支持是不可靠的,所以您可能不得不以不同的方式对待它,但是对于几乎任何其他平台来说,这都应该对您有所帮助。

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

https://stackoverflow.com/questions/31718551

复制
相关文章

相似问题

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