Date 日期格式不适用于年月日至年月日
我正在创建一个将八进制转换为十进制的函数。我已经完成了将八进制转换为十进制到日期的部分,但无法获取格式Date 日期格式不适用于年月日至年月日,date,datetime,vb6,Date,Datetime,Vb6,我正在创建一个将八进制转换为十进制的函数。我已经完成了将八进制转换为十进制到日期的部分,但无法获取格式yyyy-mm-dd。这是我的密码: Public Function OctToDate(ByVal OctDate As String) As String Dim LDate As Long Dim ODate As String Dim StrDate As String Dim PlainDate As Date ODate = OctDate LDate =
yyyy-mm-dd
。这是我的密码:
Public Function OctToDate(ByVal OctDate As String) As String
Dim LDate As Long
Dim ODate As String
Dim StrDate As String
Dim PlainDate As Date
ODate = OctDate
LDate = CLng("&O" & ODate)
StrDate = CDate(Format(LDate, "####/##/##"))
PlainDate = Format(StrDate, "yyyy-mm-dd")
MsgBox (PlainDate)
End Function
但我总是得到的结果是2017年10月15日,我想要的结果是2017年10月15日,有人能帮我吗?我卡住了下面是代码示例的答案:
希望能对您有所帮助。答案是关于数据类型的 之前:
日期作为日期
之后:
Dim PlainDate作为字符串
我声明
PlainDate
为日期,但格式
返回字符串
,这就是它不更改格式的原因。谢谢您的帮助有人能解释一下为什么我会被否决吗?我对VB6了解不多,但看起来您正在尝试重新格式化字符串(Format$(StrDate,…)
)-我觉得不太对劲。您还忽略了PlainDate
的结果,而是打印出StrDate
。另外,问题正文中的格式与标题不匹配。@JonSkeet很抱歉,我忘记更新代码了,因为我试图将$
放入测试,以确定它是否有效,但仍然无效。我没有得到任何错误,所以我不知道什么是错误的你仍然试图格式化字符串,而不是日期。您的StrDate
和PlainDate
变量看起来好像是错误的CDate
返回一个日期
,而不是字符串
,格式
返回一个字符串
,而不是日期
。谢谢您的回答。我尝试了一些尝试和错误的代码,我得到什么是错误的,我已经尝试过,它返回相同的结果。我不知道是什么原因problem@Feras为了改进你的答案,你应该复制链接中的相关部分。这种联系有一天可能会消失。