簡體   English   中英

將日期存儲的變量轉換為UNIX時間BASH

[英]Convert date stored variable into unix time BASH

我正在嘗試將存儲在變量中的日期轉換為UNIX時間戳。 我有值,我必須提供此值的格式(“%m%d%Y”),然后將其轉換(“%s”)。 你能給我一個提示嗎?

>initial_date=02012014
>date_2_unixtime=`date +"%m%d%Y" -d $initial_date +"%s"`
date: extra operand `+%s'
Try `date --help' for more information.

謝謝

你的日期是在mmddyyyy ,它需要在yyymmdddate解釋。 另外,您不提供輸入日期格式給date命令。 格式僅用於顯示目的。

使用這種方式:

initial_date=02012014
dt="${initial_date:4}${initial_date:0:4}"
date +"%s" -d "$dt"
1391230800

問題是,您必須將initial_date轉換為date識別的格式。

0201201402012014不是其中之一。

kent$  date -d "02012014"
date: invalid date ‘02012014’

如果您喜歡單線,則可以嘗試:

date -d $(sed -r 's#(..)(..)(....)#\1/\2/\3#' <<<$initial_date) +%s
1391209200

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM