【发布时间】:2019-03-18 09:56:05
【问题描述】:
日期以字符串形式提供,格式为:20180503
该函数应该验证条目是:
- 形式为
YYYYMMDD - 有效日期
以下代码不能解决问题:
Function formatDateYYYYMMDD(dateStr As String, dateFormat As String) As String
Dim strToDate As Date
strToDate = CDate(dateStr)
If IsDate(strToDate) Then
formatDateYYYYMMDD= format(dateStr, dateFormat)
Else
formatDateYYYYMMDD= "Not a date"
End If
End Function
【问题讨论】:
-
从技术上讲,
20181013在 Excel 中不是有效日期。 . . .如果这是在Excel中输入数据,我强烈建议您实际上确实使用有效日期输入格式,否则你会经常回到这里,遇到与非标准日期格式相关的问题。 最好使用的格式是yyyy-mm-dd的ISO-8601 国际标准,出于多种原因,这种格式最有意义。 -
不幸的是,数据来自提要。我应该验证条目是 YYYYMMDD 格式。
-
@ashleedawg - 我的理解是 ISO 8601 确实允许删除分隔符,但这不是首选用法,因此
20181013是规范的一部分。
标签: excel vba date date-format