带有希伯来历、伊斯兰历、科普特历、迪斯科历和其他历法的 Linux 程序

带有希伯来历、伊斯兰历、科普特历、迪斯科历和其他历法的 Linux 程序

很久很久以前……有一个 Unix(不一定是 Linux[1])程序,它可以以多种格式输出今天的日期。

换句话说,它做了什么http://www.public.asu.edu/~checkma/today.html确实如此,但是是纯文本,而不是 HTML(当时 HTML 还不存在),并且输出较少。

我想到的程序不是 gcal(当时 gcal 还不存在,GNU 也不出名),但一些 gcal 手册和在线教程建议 gcal 也可以做到这一点。然而,我还没能弄清楚怎么做。

[1] 可能是 SunOS;我认为是在 SOLARIS 出现之前。

编辑:我刚刚发现一个名为“ddate”的程序,它通过返回 Discordian 日期(但不返回其他日期)来完成很小的一部分工作:

> ddate
Today is Pungenday, the 45th day of Discord in the YOLD 3183

结果calendar -f /usr/share/calendar/calendar.discord -A 0会产生相同的输出(这让我很惊讶,因为我忘记了“日历”不仅仅是一个提醒程序),但日历的选择也非常有限。

一个名为 hebcal 的程序(https://www.gsp.com/cgi-bin/man.cgi?section=1&topic=hebcal) 显然对希伯来历法做了这个,但我确信我看到的是以多种格式列出的同一日期——它可能在一个 shell 脚本中组合了 hebcal、ddate 和其他程序。

答案1

根据特定国家/地区的惯例,日期格式在区域设置中指定。

$ sudo locale-gen ar_EG.UTF-8 he_IL.UTF-8
Generating locales (this might take a while)...
  ar_EG.UTF-8... done
  he_IL.UTF-8... done
Generation complete.
$ for loc in ar_EG.UTF-8 he_IL.UTF-8; do LC_TIME=$loc date +%c; done
28 أبر, 2017 CEST 09:00:19 م
CEST 21:00:19 2017 אפר 28 ו'

答案2

我在寻找同样的东西时发现了你的问题,于是我决定写卡达特,一个基于库的节点 CLI 来执行此操作路克森,它本身基于本机 API国际

举几个例子:

$ cadate --iso8601 --calendar chinese
35-07-30
$ cadate --full --calendar hebrew 
Elul 29, 5778
$ cadate --full --locale ar --numbering arab --calendar islamic
٢٩ ذو الحجة ١٤٣٩

您可以在GitHub,希望你会觉得它有用。

相关内容