2017-08-04 42 views
-2

我正在創建日誌並推送到logstash。 logstash服務器的日期格式是以下目標表單。在Linux服務器中,我可以使用date命令將本地日期/時間轉換爲日誌文件。如何使用date命令在Linux服務器中獲取以下格式。以下命令的格式是什麼?我可以將格式設置爲TZ ='CEST'日期+「%字段」。我試圖設置幾個格式指定,但在月份的日期不能得到字符串'th'。另外我不明白日期的最後一個字段'221'。任何幫助?將日期轉換爲指定格式linux

目標服務器格式爲:2017年8月4日,22:30:45.221

+1

最後一個字段包含小數秒(即,最後一個字段是'45.221'秒)。你確定*這是logstash服務器支持的唯一格式嗎?那很不尋常。 – larsks

+1

https://stackoverflow.com/questions/2495459/formatting-the-date-in-unix-to-include-suffix-on-day-st-nd-rd-and-th – 2017-08-04 18:45:14

回答

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)

+0

IKrom @這是一個聰明的方法格式化以獲取用戶定義的日期格式。 @jww - 我在bash腳本中使用date命令將日期提供給bash腳本中的命令輸出。所以貼在這裏。 – arunp

+0

@arunp如果它幫助你,請設置答案的綠旗。謝謝 )。 – Ikrom

+0

是的,它的工作原理。綠色爲綠色。 – arunp