Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
Date 日期格式不适用于年月日至年月日_Date_Datetime_Vb6 - Fatal编程技术网

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为了改进你的答案,你应该复制链接中的相关部分。这种联系有一天可能会消失。