c - 如何在 Linux 中获取本地(区域)日期格式?

标签 c linux bash date

是否有可能(如果可以,如何?)获取本地(区域)日期格式?最好以跨平台的方式,否则至少 Linux 起步就足够了。

我在说什么:例如,这行在终端中执行时返回以本地(区域)方式格式化的日期(和时间):

date +"%c"

我想要的不是数字而是显示的形式,例如,如果我将区域设置设置为立陶宛语,我会得到:

2016 m. birželio 27 d. 19:06:11

所以我想得到这个而不是上面的:

YYYY MM DD

如果我将区域设置设置为美国:

Mon 27 Jun 2016 07:09:24 PM EEST

在这种情况下,我想得到:

DD MM YYYY

意思 - 不是实际数字,而是本地(区域)日期的格式。

我以后想将这些信息用于面向用户的输入/输出操作

最佳答案

虽然 Joachim 的提示是正确的,但这里是您原始问题的解决方案。 只需在 bash 中输入:

locale -k LC_TIME | grep ^d_fmt | cut -d= -f2

如果您需要时间格式而不是日期格式,请使用 t_fmt 而不是 d_fmt,对于组合的日期/时间格式,请使用 d_t_fmt

关于c - 如何在 Linux 中获取本地(区域)日期格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38058686/

相关文章:

c - 如何创建字符串数组?

c - 使用#define 定义的数字的平方

linux - 在 bash 脚本中分配 "at"命令的输出

linux - 我如何通过命令知道我使用的是哪种 linux 版本

c - Valgrind 内存检查输出

php - Debian:使用 bash 找出 CPU 使用率

Python 等同于 perl -pe?

用于 Python 的 Mysql

c - 如何解决c警告:pointer from integer without a cast?

c++ - 将字符指针/数组传递给函数