2014-05-15 67 views
0

我將日期作爲輸入參數,它是來自某些源的IST,但我必須將其轉換爲UTC格式,即我必須減去5小時30分鐘我正在接受。將輸入時間戳從ist轉換爲utc(UNIX)

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

'date =「01/01/2013 10:12」;日期-d「$日期5小時30分鐘」'應該可以正常工作。 – anubhava

+0

Ohhh它的工作..不知道它在做什麼 – avinashse

+0

@anubhava對不起,但要轉換爲utc我不得不減去5小時30分鐘從輸入日期和那東西我不知道。 – avinashse

回答

0

假設你正在你的IST日期$date變量,你可以做到這一點得到GMT時間:

date="15/05/2014 10:15" 

作爲第1步驟轉換您的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 va lue:

(export TZ='GMT' && date -d 'TZ="Asia/Kolkata" '"$date" '+%s') 
1400129100 
+0

我的日期格式爲'DD/MM/YYYY HH:SS'檢查'date =「15/05/2014 10:15」' – avinashse

+0

好的檢查已更新的答案。 – anubhava