VB及日期格式问题(代码意思)

来源:百度知道 编辑:UC知道 时间:2024/05/18 14:27:08
If .Fields(j).Name = "OPNDT" Or .Fields(j).Name = "ENDDT" Then
If Not IsDate(strFields(j)) Then
If strFields(j) Like "19##[0,1]#[0-3]#" _
Or strFields(j) Like "20##[0,1]#[0-3]#" Then
strFields(j) = Left(strFields(j), 4) & "/" & Mid(strFields(j), 5, 2) & "/" & Right(strFields(j), 2)
Else
strFields(j) = ""
End If
End If
End If

"19##[0,1]#[0-3]#" 这是怎么表示的啊?
为什么[0,1]和[0-3]的表示什么意思?

对程序理解是:
读到OPNDT和OPNDT字段的时候就读取其日期格式,
如果日期格式为19##[0,1]#[0-3]和20##[0,1]#[0-3]
就读取左边4位,中间5位的2位,右边2位

但是读取出来是什么结果?
什么样的数据能够读取呢?
如2008-08-08可以还是20080808可以读取呢?

另外我需要另外添加一些日期字段规范到这个程序中,只需要在If .Fields(j).Name = "OPNDT" Or .Fields(j).Name = "ENDDT"
中继续添加字段即可,是吗?

由与问题比较多也比较乱,所以辛苦各位了
19##[0,1]#[0-3]
可以表示19年的任意一天吗?
好像觉得你的回答不能样的~

表示
19后面跟任何2位数字的年份,比如1985
再然后月份只能是0和1 ,也就是[0,1] 再加上任何一位数字的月份, 比如02月或是11月
再然后日份只能是0,1,2,3 再跟任何一个数字,比如 01日,或是13日, 24日, 31日..

20080808的数据可以读取.因为它只识别8位长的时间格式

是的,只需要在这个字段名字中添加更多的就行了..

^_^ 我也回答的较乱..