VB中怎么对“2018/5/1 星期二 16:28:12”日期转换
答案:2 悬赏:40 手机版
解决时间 2021-01-19 19:53
- 提问者网友:不要迷恋哥
- 2021-01-19 05:56
VB中怎么对“2018/5/1 星期二 16:28:12”日期转换
最佳答案
- 五星知识达人网友:孤独的牧羊人
- 2021-01-19 07:02
没有错误
追问输出是没有错误的,但是想把
2018/5/1 星期二 16:28:12
这个转成日期就出错了追答贴出你获取 2018/5/1 星期二 16:28:12 时的代码 和 你需要转换时的代码追问
就是这样的简单语句,想把带有日期格式的字符串转成日期格式,一转换就出错
追答如果你获取日期的方式是截取字符串 而非 now date函数而来 那你就继续使用截取的方式 去掉2个空格中间的 中文星期 然后再转回日期类型追问主要是有些人的电脑默认日期格式会设置成这样,我获取时间的时候会导致获取到这样的格式,然后再用就会出错了
看来还是只能用标准日期格式化以后再输出了,问一下问题只是看这个有没有解决的办法的,谢谢!
全部回答
- 1楼网友:孤独的牧羊人
- 2021-01-19 07:51
Public Function DateConversion(ByVal DateVar As Variant) As Date
Dim TempVar As Variant
Dim TempStr As String
Dim n As Long
If IsDate(DateVar) = True Then
DateConversion = DateVar
Else
If IsEmpty(DateVar) = True Then
DateConversion = 0
Else
'2018/6/12 星期二 8:35:26
TempStr = ""
DateVar = Trim(DateVar)
TempVar = Split(DateVar, " ")
For n = 0 To UBound(TempVar)
If IsDate(TempVar(n)) = True Then TempStr = TempStr & " " & TempVar(n)
Next n
Set TempVar = Nothing
TempStr = Trim(TempStr)
If IsDate(TempStr) = True Then
DateConversion = CDate(TempStr)
Else
DateConversion = 0
End If
End If
End If
End Function
Dim TempVar As Variant
Dim TempStr As String
Dim n As Long
If IsDate(DateVar) = True Then
DateConversion = DateVar
Else
If IsEmpty(DateVar) = True Then
DateConversion = 0
Else
'2018/6/12 星期二 8:35:26
TempStr = ""
DateVar = Trim(DateVar)
TempVar = Split(DateVar, " ")
For n = 0 To UBound(TempVar)
If IsDate(TempVar(n)) = True Then TempStr = TempStr & " " & TempVar(n)
Next n
Set TempVar = Nothing
TempStr = Trim(TempStr)
If IsDate(TempStr) = True Then
DateConversion = CDate(TempStr)
Else
DateConversion = 0
End If
End If
End If
End Function
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯