2010-03-25 26 views

Trả lời

5

Sử dụng IsDate (stringDate) kết hợp với CDate (stringDate).

Sử dụng hàm IsDate() để xác định xem ngày có thể được chuyển đổi thành ngày hoặc giờ không.

CDate() nhận dạng các chữ và chữ thời gian cũng như một số số nằm trong phạm vi ngày được chấp nhận. Khi chuyển đổi một số thành một ngày, toàn bộ phần số được chuyển đổi thành một ngày. Bất kỳ phần phân số nào của số được chuyển đổi thành thời gian trong ngày, bắt đầu từ nửa đêm.

CDate nhận dạng định dạng ngày theo cài đặt ngôn ngữ của hệ thống của bạn. Thứ tự đúng của ngày, tháng và năm có thể không được xác định nếu nó được cung cấp ở định dạng khác với một trong các cài đặt ngày được công nhận. Ngoài ra, định dạng ngày dài không được nhận dạng nếu nó cũng chứa chuỗi ngày trong tuần.

Ví dụ sau sử dụng hàm CDate để chuyển đổi chuỗi thành ngày.

MyDate = "October 19, 1962" ' Define date. 
MyShortDate = CDate(MyDate) ' Convert to Date data type. 
MyTime = "4:35:47 PM"   ' Define time. 
MyShortTime = CDate(MyTime) ' Convert to Date data type. 
3
IsDate("pony") ' Returns false 
2

Tôi tin rằng thách thức là làm cho giải pháp độc lập với các cài đặt khu vực địa phương vốn là yêu cầu trước trong nhiều trường hợp.

Cách duy nhất tôi tìm thấy là sử dụng DateSerial() vì ParseExact() không tồn tại trong vbs.

Tôi nghĩ mã dưới đây thực hiện thủ thuật. Nên có một cách mượt mà hơn để thêm thành phần thời gian nhưng tôi không tìm thấy nó. Tất nhiên mã chính xác này chỉ bao gồm một định dạng đầu vào, nhưng đó là tất cả những gì tôi cần bây giờ.

fixedDate = fixmydate("27-01-2016 18:00:00") 


Function fixmydate(mydate) 
    sday = cint(Mid(mydate,1,2)) 
    smonth = cint(Mid(mydate,4,2)) 
    syear = cint(Mid(mydate,7,4)) 

    shour = cint(Mid(mydate,12,2)) 
    sminute = cint(Mid(mydate,15,2)) 
    ssecond = cint(Mid(mydate,18,2)) 

    sdate = DateSerial(syear,smonth,sday) 
    sdate = dateadd("h",shour,sdate) 
    sdate = dateadd("n",sminute,sdate) 
    sdate = dateadd("s",ssecond,sdate) 


    fixmydate = sdate 

End Function 
Các vấn đề liên quan