Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VIM中格式化DateTime,在月、日和小时上不带前导零_Vim - Fatal编程技术网

在VIM中格式化DateTime,在月、日和小时上不带前导零

在VIM中格式化DateTime,在月、日和小时上不带前导零,vim,Vim,有人知道有没有办法在Vim(MS Windows下)中格式化strftime生成的日期,这样月、日和小时就不会用前导零填充到两位数 例如,vimrc中的以下命令: nmap <F3> a<C-R>=strftime("%I:%M %p %m/%d/%Y ")<CR><Esc> imap <F3> <C-R>=strftime("%I:%M %p %m/%d/%Y ")<CR> 如果真的是7月9日的话 我想知道是

有人知道有没有办法在Vim(MS Windows下)中格式化strftime生成的日期,这样月、日和小时就不会用前导零填充到两位数

例如,vimrc中的以下命令:

nmap <F3> a<C-R>=strftime("%I:%M %p %m/%d/%Y ")<CR><Esc>
imap <F3> <C-R>=strftime("%I:%M %p %m/%d/%Y ")<CR>
如果真的是7月9日的话

我想知道是否有可以打印的格式字符串

3:32 AM 7/9/2010
取而代之的是vim。我知道strftime是特定于平台的,所以我正在寻找一个不使用外部工具的特定于Windows的解决方案。我也希望有人评论说,有了这些限制,这是不可能的


谢谢。

我不知道是否有办法告诉
strftime()。但是,您仍然可以应用一个
替代(strftime(…),“\一些操作系统分别支持
%k
%e
的单位时间和日期。这两种操作系统在Windows上似乎都不受支持(或者至少在Windows XP上不受支持,这是我最近尝试的全部)

但这一切都没有丢失。Windows确实支持
%x
,它以您想要的
7/9/2010
格式给出日期,我们可以通过调用
substitute()
,去掉任何前导零:

这张照片

3:50 AM 7/19/2010

请记住,所有这些都是特定于操作系统的,而且也是特定于当前区域设置的。这根本不是可移植的。

谢谢!我知道这不是可移植的,但对于个人使用,不可移植的解决方案比根本没有解决方案要好得多。
echo substitute(strftime("%I:%M %p %x"), "^0", "", "")
3:50 AM 7/19/2010