大家好。请教一下,我在Windows 10下,运行org-time-stamp
后,插入时间的格式是<2016-11-07 周一>
,但是相同的配置下ubuntu当中的Emacs相应时间却显示为<2016-11-07 一>
,而我已经将Window10 中设置了(setenv "LC_TIME" "zh_CN.UTF-8")
,ubuntu 下的locale都是zh_CN.UTF-8
,但一切仍然不生效。有朋友提示说是linux locale 与time命令的关系,但是我查了很久都没有得出相应答案。
请教大家,能不能让Linux下的“一”统一为“周一”?谢谢。
以下是一些查找到的代码
;; full week name
(format-time-string "%A") ; "Tuesday"
;; abbreviated week name
(format-time-string "%a") ; "Tue"
;;‘%a’
;;This stands for the abbreviated name of the day of week.
;;‘%A’
;;This stands for the full name of the day of week.
1 个赞
感觉会有两个问题。其一是 zh_CN
下 week 用的是“星期”,不是“周”:
~$ LC_TIME=zh_CN.UTF-8 date +"%F %A"
2016-11-07 星期一
~$ LC_TIME=en_US.UTF-8 date +"%F %A"
2016-11-07 Monday
假如一定要用“周”的话,应该需要对 locale 做更多的设置。
第二个问题是,org-mode 默认用的是简称 %a
,而不是全称 %A
。要用全称的话,到 org-mode 的设置(M-x customize-group org
)、Manual 里找找有没有设置这个的选项。我找到一个可以显示全称、但实际内容还是简称的选项,或许有(没)用:
(setq org-display-custom-times t
org-time-stamp-custom-formats '("<%m/%d/%y %A>" . "<%m/%d/%y %a %H:%M>"))
非常感谢您的回复。
我先贴一下ubuntu下的显示日期,回头再把windows状况的补上
终端下的
emacs的
。
以下是Window10 下面的日期
两者是不同平台,同样的配置,同样的25.1版本。
请教一下,怎么在windows的emacs里面设置en_US.UTF-8啊?
Tool bar => Options => Multilingual Environment => Set Language Environment
The most easy way.
不行啊,有没有可以直接在init.el里面进行配置的代码啊?
M-x set-language-environment
设置过一次以后就会记住,应该不需要在init.el里面设置。
我并不知道设置成功不成功,我的目的是让mode-line里面的日期显示由中文变成英文,但是试了好久都不成功
LdBeth
2017 年1 月 20 日 03:34
11
这个是org-mode里面显示日期。
mode-line里面的要另外设置。不是语言环境的问题。
M-x set-language-environment to English之后,org-mode里面日期显示还是中文的“周五”,没有变成英文。org-mode里面想要让“周五”变成“Fri”,要怎么操作啊?
panhwa
2018 年5 月 19 日 07:13
16
;; System locale to use for formatting time values.
(setq system-time-locale "C") ; Make sure that the weekdays in the
; time stamps of your Org mode files and
; in the agenda appear in English.
方法来自 date - emacs org-mode language of time stamps - Stack Overflow
4 个赞
ytey
2019 年2 月 13 日 07:49
17
为节约资源。接这个题下问我的问题。
看了以上回答,似乎楼主并没有找到答案。
我遇到的问题也同上。由于放在云上,因此会在不同电脑上编辑,结果涉及“星期”的地方一下出来fri,一下出来“星期五”,一下出来“五”,虽无大碍,但总感到太不专业。
请教一下有正确的解决方法。
我觉得可以分两步解决
第一步:
xuchunyang:
第二个问题是,org-mode 默认用的是简称 %a
,而不是全称 %A
。要用全称的话,到 org-mode 的设置( M-x customize-group org
)、Manual 里找找有没有设置这个的选项。我找到一个可以显示全称、但实际内容还是简称的选项,或许有(没)用:
(setq org-display-custom-times t
org-time-stamp-custom-formats '("<%m/%d/%y %A>" . "<%m/%d/%y %a %H:%M>"))
第二步就是给 format-time-string 加 advice,就是不知道C函数能不能加
如果不能就给org-insert-time-stamp加
将所有的周或星期变成统一的格式
LdBeth:
馊主意:把系统语言设置成英文
算不上馊主意吧……只能算懒主意。
毕竟改改需求就能省掉好多麻烦事
ytey
2019 年2 月 14 日 03:06
21
谢谢楼上三位!但我没说清。。。。。我的遇到的主要困扰是:“星期”在有的电脑上出英语,在有的出中文
(另外,本论坛怎样@某人? )