我将日期作为输入参数从某些来源获取IST,但我必须将其转换为UTC格式,即我必须将5小时30分钟减去我收到的日期。
echo "Date format DD/MM/YYYY HH:SS"
read $input
我可以写这个小函数,它将从$input
grep HH和SS然后添加哪些检查条件这是繁琐的任务,相反我想知道有没有办法做到这一点?
我找到了date命令选项,其工作原理如下:
date -d "15/05/2014 10:12 -5 hours -30 minutes"
不工作
date -d "15/05/2014 10:12 5 hours ago 30 minutes ago"
也无效。
答案 0 :(得分:0)
假设您在$date
变量中获得了IST日期,您可以执行此操作以获取GMT日期:
date="15/05/2014 10:15"
第一步是将dd/mm/yyyy
日期转换为mm/dd/yyyy
:
date=$(awk 'BEGIN{FS=OFS="/"} {print $2, $1, $3}' <<< "$date")
转换为GMT:
( export TZ='GMT' && date -d 'TZ="Asia/Kolkata" '"$date" )
Thu May 15 04:45:00 GMT 2014
获得EPOCH GMT值:
( export TZ='GMT' && date -d 'TZ="Asia/Kolkata" '"$date" '+%s' )
1400129100