command-line - 如何从命令行更改日期格式?

标签 command-line date format

以一种格式转换日期的最快方法是什么,说

2008-06-01



到另一种格式的日期,比如

Sun 1st June 2008



重要的一点实际上是“太阳”,因为根据日期的不同,我可能需要以非确定性的方式摆弄其他东西。我正在运行 GNU bash,版本 3.2.17(1)-release (i386-apple-darwin9.0) .

[背景:我想从命令行执行此操作的原因是,我真正想要的是将其写入 TextMate 命令......这是我必须一直在 textMate 中执行的一项烦人的任务。]

最佳答案

$ date -d '2005-06-30' +'%a %F'
Thu 2005-06-30

man date对于其他格式选项。

此选项在 Linux 上可用,但在 Darwin 上不可用。在 Darwin 中,您可以使用以下语法:
date -j -f "%Y-%m-%d" 2006-06-30 +"%a %F"

-f 参数指定输入格式,+ 参数指定输出格式。

正如下面另一张海报所指出的,您最好使用 %u(星期几)而不是 %a 来避免本地化问题。

关于command-line - 如何从命令行更改日期格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/279329/

相关文章:

Excel自定义格式: What does [$€-2] mean?

python - 快速多行正则表达式查找/替换\r和\n

python - pandas read_sql。如何使用日期字段的where子句进行查询

Java非阻塞输入

javascript - 为什么这个Javascript可以在FF3.6中运行?新日期 ("2010-06-09T19:20:30+01:00");

linux date 命令跳过时间

r - 如何在同一列中更改多种日期格式?

format - 如何在 Lisp 中将 0 添加到整数列表中

linux - 在 Linux 中将换行符附加到目录中的所有文件

java - Picocli - java.lang.NumberFormatException