在VimScript中解析日期

时间:2012-09-07 20:57:20

标签: vim viml

给定一个“2012-09-31”形式的日期字符串,我想要一个vimscript函数来解析它,这样我就可以计算相对日期。欢迎使用纯vimscript或python解决方案。

2 个答案:

答案 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

答案 1 :(得分:1)

对于日期的正常模式操作,Tim Pope有一个极好的SpeedDating插件。原则上应该可以提取这个插件的一些内部函数以用于其他脚本,但我不知道它在实践中有多容易。