我有一個製表符分隔的文本,我提取它的數據,但我發現轉換某些日期的挑戰,因爲它們是在這樣一個不同的格式1 AUG 1989
我把數據作爲一個字符串,我循環它分解,並建立一個有效的日期與它 這裏是我的一個空間(」「)感謝分離您的幫助如何從字符串日期中提取月份?
//Extract the day
ll_strtsearch = 1
ll_fsearch = Pos(ls_tmp ," " , ll_strtsearch)
ll_len = ll_fsearch - ll_strtsearch
ls_tmpdate = Trim(Mid(ls_tmp , ll_strtsearch , ll_len))
ll_day = Long(ls_tmpdate)
//Extract the Month
ll_strtsearch = ll_fsearch + 1
ll_fsearch = Pos(ls_tmp , " " , ll_strtsearch)
ll_len = ll_fsearch - ll_strtsearch
ls_tmpdate = Trim(Mid(ls_tmp , ll_strtsearch , ll_len))
ll_month = Month(ld_tmp)
//ll_month = Long(ls_tmpdate)
//Extract the Year
ll_strtsearch = ll_fsearch + 1
ll_len = 4
setNull(ld_empDob)
ls_tmpdate = Trim(Mid(ls_tmp , ll_strtsearch , ll_len))
if len(ls_tmpdate) = 4 Then
ll_year = Long(ls_tmpdate)
Else
If len(ls_tmpdate) = 2 Then
ls_tmpdate = "19" + ls_tmpdate
ld_empDob = Date(Long(ls_tmp) , 1 ,1)
End If
'Month()'函數只能用於日期類型。數據是否以不同語言本地化?如果不是,可以將包含12個月名稱的文本數組作爲簡單的查找表。這取決於要處理的數據量。 – Seki
我知道月()函數,我想到了陣列的想法,但我只是想,也許有更好的辦法來 –
你試過只使用日期()的方法嗎?這樣你只需要處理異常。根據運行可執行文件的計算機上的Windows設置,格式可能會有所不同。 –