2013-03-17 159 views
0

是否可以採用日期字符串(例如2013-02-26 10:45:54,082),並從「時代」獲取以毫秒爲單位的時間?或類似的東西?從日期獲取時間(以毫秒爲單位)

我知道clock scan以秒爲單位返回時間。 也clock scan返回此特定格式的錯誤。

我找不到的東西,因爲我想,我要確保之前,我開始創建它,它不存在...

感謝

回答

2

毫秒級偏差不通過Tcl的支持(因爲它是在實踐中相當罕見的格式),但你可以解決的是:

set str "2013-02-26 10:45:54,082" 
regexp {^([^\.,]*)[\.,](\d+)$} $str -> datepart millipart; # split on the last occurrence of , or . 
set timestamp [clock scan $datepart -format "%Y-%m-%d %H:%M:%S" -gmt 1] 
scan $millipart "%d" millis 
set millistamp [expr {$timestamp*1000 + $millis}] 

(你不提供時區信息,所以我認爲這是UTC,即「 GMT「。我也允許使用.而不是,作爲一個mi你得到的第二個分隔符取決於創建時間字符串的語言環境。)

+0

不知何故,它不適用於時鍾掃描選項'-format':**壞開關「-format」:必須是-base或-gmt 執行時 「時鐘掃描$ datepart -format」%Y-%m-%d%H:%M:%S「-gmt 1」** 但它沒有它, – hudac 2013-03-20 07:23:20

相關問題