2012-09-07 48 views
4

給定一個格式爲「2012-09-31」的日期字符串,我想要一個vimscript函數來解析它,以便我可以計算相對日期。純vimscript或python解決方案是受歡迎的。在VimScript中解析一個日期

回答

1

對於日期的正常模式操作,Tim Bope提供了極好的SpeedDating插件。原則上,應該可以提取此插件的一些內部函數以便在其他腳本中使用,但我不知道實際上有多容易。

+0

是的。我看着它。這是非常強大的,但並不明顯,我將如何提取這一小塊功能:) –

2

爲了什麼值得,這裏是我目前的解決方案。歡迎提供更好的建議或改進。

function! AdjustDate(date, offset) 
python << EOF 
import vim 
import datetime 

result = datetime.datetime.strptime(vim.eval("a:date"), "%Y-%m-%d") + \ 
     datetime.timedelta(days=int(vim.eval("a:offset"))) 
vim.command("let l:result = '" + result.strftime("%Y-%m-%d") + "'") 
EOF 
return result 
endfunction