linux - linux 将日期转换为指定格式

标签 linux date format

我正在创建日志并推送到logstash。 Logstash 服务器的日期格式为以下目标形式。在Linux服务器中,我可以使用date命令将本地日期/时间转换为日志文件。如何在 Linux 服务器中使用 date 命令获取以下格式。下面的命令的格式是什么?我可以将格式设置为 TZ='CEST' 日期 +"%field"。我尝试设置一些格式指定,但无法获取月份日期中的字符串“th”。我也不明白日期中的最后一个字段“221”。有什么帮助吗?

目标服务器格式:2017年8月4日22:30:45.221

最佳答案

试试这个代码:

#!/bin/sh
DaySuffix() {
  case `date +%d` in
    1|21|31) echo "st";;
    2|22)    echo "nd";;
    3|23)    echo "rd";;
    *)       echo "th";;
  esac
}
date "+%B %-d`DaySuffix` %Y, %T.%3N"

当前结果:2017 年 8 月 4 日,12:04:49.750

帮助来源:Formatting the date in unix to include suffix on day (st, nd, rd and th)

关于linux - linux 将日期转换为指定格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45512581/

相关文章:

python - 将 Json 嵌套到具有特定格式的 pandas DataFrame

linux - 在 Linux 中将一个串口连接到另一个串口

linux - 为什么我看到某个进程的 CPU 使用率很高,但总体 CPU 空闲百分比很高?

r - 将列中的多种日期格式转换为单一形式

java - 在 Java 中处理 MySQL 日期时间和时间戳

string - 如何将变量格式化为字符串内的货币

r - ggplot2 中 y 刻度标签的良好 K/M/G 缩写

linux - 如何解读${x%,*}和${x#*,}的含义

c - c中的memcpy函数

javascript - 如果日期少于或多于 15 分钟(日落或日出)