我有一个字符串'2015_11_01_00_00'我想将此转换为纪元时间。 我已经尝试了以下代码,但找不到它的价值。
#!/bin/bash
echo "mohit"
date_var="2015_11_01_00_00"
echo $date_var
arr=$(echo $date_var | tr "_" "\n")
IFS='_ ' read -r -a arr <<< "$date_var"
#echo $arr
echo ${arr[0]}
echo ${arr[1]}
echo ${arr[2]}
echo ${arr[3]}
echo ${arr[4]}
updated_date="${arr[0]}"-"${arr[1]}"-"${arr[2]}"-"${arr[3]}"-"${arr[4]}"
echo $updated_date
TMRW_DATE=`date --date="$updated_date" +"%s"`
echo "$TMRW_DATE"
答案 0 :(得分:1)
这个应该可以解决问题:
#!/bin/bash
echo "mohit"
date_var="2015_11_01_00_00"
updated_date=`echo ${date_var} | sed -e 's,_,/,;s,_,/,;s,_, ,;s/_/:/'`
echo ${updated_date}
TMRW_DATE=`date -d "$updated_date" +"%s"`
echo "$TMRW_DATE"
答案 1 :(得分:1)
以下是使用GNU date syntax:
执行此操作的一种方法#!/bin/bash
echo "mohit"
date_var="2015_11_01_00_00"
TMRW_DATE=$(
set -- $(echo $date_var | tr "_" " ")
date --date="$1-$2-$3 $4:$5" +"%s"
)
echo "$TMRW_DATE"
#!/bin/bash
echo "mohit"
date_var="2015_11_01_00_00"
TMRW_DATE=$(date -j -f "%Y_%m_%d_%H_%M" "$date_var" +%s)
echo "$TMRW_DATE"