【发布时间】:2021-02-07 21:30:44
【问题描述】:
我的日期采用“yyyy.mm.dd”格式文本,我想将它们转换为日期。
此代码有效:
x = "2012.01.01"
d = DateSerial(Left(x, 4), Mid(x, 6, 2), Right(x, 2))
但是有没有更简单的方法呢?
我认为这会起作用(这应该很简单),但事实并非如此:
d = Format(x, "yyyy.mm.dd")
【问题讨论】:
我的日期采用“yyyy.mm.dd”格式文本,我想将它们转换为日期。
此代码有效:
x = "2012.01.01"
d = DateSerial(Left(x, 4), Mid(x, 6, 2), Right(x, 2))
但是有没有更简单的方法呢?
我认为这会起作用(这应该很简单),但事实并非如此:
d = Format(x, "yyyy.mm.dd")
【问题讨论】:
对于您的具体示例,请尝试以下操作:
d= Replace(x, ".", "/")
d= Format(CDate(d),"yyyy/mm/dd"))
转换为日期的实际函数:
CDate(d)
发件人:https://www.techonthenet.com/excel/formulas/cdate.php
Microsoft Excel CDATE 函数将值转换为日期。
CDATE 函数是 Excel 中的一个内置函数,它被分类为 作为数据类型转换函数。它可以用作 VBA 函数 (VBA) 在 Excel 中。作为 VBA 函数,您可以在宏中使用此函数 通过 Microsoft Visual Basic 编辑器输入的代码。
总结一下:CDATE是转换为日期的实际方法,但它有句号的问题。
该格式用于执行字符串格式化 - 但实际转换是使用 CDATE 完成的。
【讨论】:
Format 用于将日期值格式化为文本,而不是转换为日期值。因此:
Dim d As Date
x = "2012.01.01"
d = CDate(Replace(x, ".", "/"))
然后将日期格式应用于要显示这些值的单元格。
【讨论】: