如何在纯Vimscript中将{date}转换为{time}

时间:2013-12-21 21:57:31

标签: vim

如何在纯Vimscript中将date转换为time

我有一个约会(例如:2013-12-21),我想将其转换为time,以便致电strftime()来获取星期几。因为strftime的第二个参数必须是time,如上所述:h strftime()

2 个答案:

答案 0 :(得分:3)

不幸的是,内置的{time}(即Unix纪元,即自1970年1月1日以来的秒数)的唯一来源是localtime()当前时间,getftime()对于文件的修改日期。

要转换任意日期,需要外部帮助;例如通过Python等嵌入式语言,或通过date命令行工具。您会发现后者已在我ingo-library pluginingo#date#epoch#ConvertTo()中实施。

答案 1 :(得分:0)

自版本8.1.2325:echom has('patch-8.1.2325'))以来,Vim支持strptime()。因此,就像这样简单:

:echom strptime('%Y-%m-%d', '2013-12-21')