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

时间:2017-08-04 17:36:10

标签: linux date format

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

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

1 个答案:

答案 0 :(得分:1)

试试这段代码:

#!/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)