我想得到这个输出:
2018-09-02 00:00:00.000
我尝试了以下代码:
.Cells(LRS + 1, 15).Value = Format(.Cells(LRS + 1, "A").Value, "yyyy-MM-dd hh:mm:ss.fff")
我得到了:
2018-09-02 00:00:00.fff
excel中的初始日期格式如下 yyyy/mm/dd
,不包括时间。这就是为什么时间部分只包含零 00:00:00.000
. 我想将时间包含在特定格式中的原因是,我计划将这些日期导入到具有该格式的sql表中。
有什么解决办法吗?
2条答案
按热度按时间wh6knrhe1#
用相应的格式替换单元格格式后,很可能单元格的值是作为文本导入的,而不是作为值导入的。
工作表数据
本地窗口
thtygnil2#
从文档中可以看到
fff
在vba中未被识别为格式标记。有帮助的是,您可以将数据导入到sql中,而无需格式化数据以添加时间。如果你把它导入
datetime
字段sql引擎会自动将字段的时间部分默认为您给定日期的午夜。我想你可以把格式字符串改成
yyyy-MM-dd
它自己。但是,如果您真的想这样做,那么由于没有指定时间,所以只需要硬代码
000
而不是fff
. 剩下的时间也可以用类似的硬编码,因为它从来没有变化过,所以你最终会yyyy-MM-dd 00:00:00.000
. 但正如我所说,我认为这有点毫无意义。