linux 默认时间格式问题请教。 越详细越好。

我知道系统当中日期以及时间显示跟当前时区有关系。除了与当前的时区关系外,还跟显示格式有关系。举个例子说明。刚装系统。不选择当前区域,我们输入date显示的是英文日期格式。... 我知道系统当中日期以及时间显示跟当前时区有关系。
除了与当前的时区关系外,还跟显示格式有关系。
举个例子说明。刚装系统。不选择当前区域,我们输入date 显示的是英文日期格式。
ls -l 显示的时间也是英文的。
选择区域为中文后, date 以及ls -l 显示的都是中文的日期跟时间。
我想知道。如果我希望无论我用什么语言, 都让日期跟时间显示成
固定的 YYYY-MM-DD HH:II:SS 格式应该如何设置呢。
ls --time-style= 有几个选项。 其中 有个 locale 选项。
我想系统总有个默认的时间格式吧, 或许还有个环境变量来设置默认的显示格式。
目前我只能 alias ls 的办法让我方便 ls 查看日期。
想请教如何才能自定义 日期以及时间的格式, 让 date 以及ls 都用我设置的格式来显示。或许个 LC_TIME 有关系,我应该如何做?
这个问题跟发行版没多大关系。
默认日期时间显示格式跟 locale 有关系。
或许跟环境变量也有关系。
如果说 ls -l 默认日期格式是 yyyy-mm-dd ... 这样的。 那是你的特例。
我这边显示的是英文。
这个 date 加参数,也可以用这个格式的显示。
我希望达到的目的是 默认日期格式 的修改。
所以这些都不是我想找到的答案。
就比如, LC_TIME=zh_CN.UTF-8 和 LC_TIME=en_US 默认日期格式都不同。
所以,这个默认日期显示格式肯定跟 LC_TIME 设置有关系, 不过这都是大框架的设置,如何才能具体到应用,自定义默认日期格式的显示。
展开
 我来答
jiangtao9999
推荐于2017-11-24 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1.2万
采纳率:44%
帮助的人:8249万
展开全部
Linux 的时间内部是 timestemp 。这个时间输出是根据当前时区的设置进行输出,当前时区的设置文件是 /etc/localtime (如果我没记错)。就算你没设置时区,那么系统依然会有一个默认的时区进行输出。
系统默认有一个 localtime ,好像格式设置是英国表示法。时区没有,应该是 local 时间而不是 GMT 。
一个正确使用的 linux 专用机器,计算机时间一般是保存为格林威治标准时间,系统在输出时会根据 localtime 进行转换输出。

自定义默认日期应该是在输出时间时设置输出格式信息,而不是强行的去设置整个系统的环境。
因为这个设置只对考虑时区设置的输出格式的一些程序管用,在系统内部,依然是通用的 timestemp 存储。而且很多程序有自己独立的设置,尤其是在某些程序里面,他不同的情况下会进行不同的输出。比如 mysql ,非 timestemp 时间的存储用的是 ISO 标准格式,也就是 YYYY-MM-DD HH:mm:ss 的样子(如果还是我没记错),如果你需要格式要求,需要自己查询后或者查询时进行格式转换。

你正在一个错误的方向进行一个错误的折腾。
追问
我不认为我是在错误的方向折腾。

我希望每次ls -l 的时候。都把输出结果日期显示成 YYYY-MM-DD 格式。
为了达到这个目的,我目前能想到的办法 只有 alias ls='ls --style-time=long-iso'
然而我知道。 如果自定义一个 locale ,然后把 LC_TIME 设置成我指定的格式可以做到我所期望的。date 命令也是如此。
既然 locale 可以设置本地语言,为什么不能设置日期格式?又或者为什么不能设置默认日期格式。
追答
locale 你可以自己设计啊。没人拦你。
不过具体怎么做我也不清楚,/usr/share/zone (可能是这里)包含所有的 timezone 信息。但 locale 主要是 glibc 进行识别,具体你可以看看 glibc 的 l10n 相关的内容。添加一个新的地区、语言集就行了。

你本来就在错误的方向折腾,没事弄字符界面还玩这么多事情。你要是跑服务器,你的 locale 和相关的输出必须是标准格式,不然很多软件可能会有兼容问题。如果你是为了 log 看着方便,你也不应该去修改这种设置,而是去设置 log 输出的程序的日期输出格式。如果是一般用,没事折腾字符界面干什么?图形界面直接提供了地区格式信息的设置。很多软件都有自己的日期格式要求的,你这么设置只能让支持 locale 信息的程序而且还得是支持 locale 设置的日期格式程序去按照你的要求去输出。
叨叨的纪念
2011-09-08 · TA获得超过2287个赞
知道小有建树答主
回答量:1161
采纳率:0%
帮助的人:525万
展开全部
ls -l本身显示的日期格式就是YYYY-MM-DD HH:II:SS
至于date你要求的格式,你可以这样alias date='date +%Y-%m-%d" "%H:%M:%S'
然后你输入date看看,我操作了,此法正确!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
钭问青
2011-09-07 · TA获得超过329个赞
知道答主
回答量:427
采纳率:0%
帮助的人:254万
展开全部
每个型号的主扳BIOS都不同.看看主板的说明书吧!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乱舞_天下
2011-09-07 · TA获得超过156个赞
知道小有建树答主
回答量:135
采纳率:0%
帮助的人:93.5万
展开全部
哪个发行版的linux
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式