2012-03-02 81 views
0

我想這段時間以毫秒爲單位shell腳本的任何日期轉換爲毫秒

01/Mar/2012:09:08:00 

我以爲做以下將存儲新的日期,那麼我可以將日期轉換成毫秒

time=01/Mar/2012:09:08:00 
    newDate=date --set="$time"; 

我需要做些什麼來完成這項工作?

+0

通過「時間以毫秒爲單位」,做你的意思是Unix時代以來的毫秒數(1970-01-01)?請注意'01/Mar/2012:09:08:00'不是'date'命令識別的格式。你能以更傳統的格式獲得時間嗎,比如'「01 Mar 2012 09:08:00」'? – 2012-03-02 12:47:26

+0

請編輯您的帖子以包含所需輸出的示例。祝你好運。 – shellter 2012-03-02 15:50:09

回答

0

使用Timer()方法來獲得時間然後把那個時候formatnumber()方法,像

FormatNumber(Timer(), 2) 
+0

問題在於Unix shell; 'Timer()'和'FormatNumber()'方法不存在。 – 2012-03-02 12:45:32

+0

@KeithThompson這個解決方案在VB腳本或shell腳本中可用。 – 2012-03-02 12:47:18

2

你應該'01/Mar/2012:09:08:00'轉換爲有效日期字符串'01 Mar 2012 09:08:00'

$ time=01/Mar/2012:09:08:00 
$ time="${time//// }" 
$ time="${time/:/ }" 
$ newDate=`date -d "$time" +%s000` 
$ echo $newDate 
1330564080000 
+0

追加'000'爲毫秒:-) – hfs 2012-03-02 12:42:28

+0

是的你是對的 – kev 2012-03-02 12:46:00