Helpex - Trao đổi & giúp đỡ Đăng nhập
1

Tôi muốn nhận được sự khác biệt về ngày từ Hai TextBox nói đến và từ các ngày ..

Mã của tôi ở đây

Dim ts As TimeSpan            
ts = CDate(txtTo.Text) - CDate(txtFrom.Text)
txtDays.Text = ts.Days() + 1

nhưng mã này đang gặp lỗi như thế này

Conversion from string "16/11/2011" to type 'Date' is not valid.
1 hữu ích 0 bình luận 19k xem chia sẻ
7

Nói chung, cố gắng tránh sử dụng các hàm VB cũ như CDate. Trong trường hợp này, bạn nên sử dụng Parsephương pháp:

Dim ts As TimeSpan
ts = DateTime.Parse(txtTo.Text) - DateTime.Parse(txtFrom.Text)

Hoặc, nếu bạn biết trước định dạng ngày:

Dim fmt As String = "dd/MM/yyyy"
Dim ts As TimeSpan
ts = DateTime.ParseExact(txtTo.Text, fmt, Nothing) - DateTime.ParseExact(txtFrom.Text, fmt, Nothing)
7 hữu ích 2 bình luận chia sẻ
3

Hãy thử sử dụng ParseExact như:

    Dim s As String = txtFrom.Text.trim
    Dim pattern As String = "dd/MM/yyyy"
    Dim parsedDate As Date = Date.ParseExact(s, pattern, Nothing)

Bằng cách đó, bạn có thể chỉ định định dạng của chuỗi được sử dụng.

Trực tiếp hơn đến ví dụ của bạn:

Dim pattern As String = "dd/MM/yyyy"
ts = Date.ParseExact(txtTo.Text, pattern, Nothing) - Date.ParseExact(txtFrom.Text, pattern, Nothing)
3 hữu ích 0 bình luận chia sẻ
0

Bạn có thể truyền trực tiếp một chuỗi tới DateTime. Bạn cần sử dụng hàm DateTime.Parse để phân tích cú pháp một chuỗi thành DateTime.

Cú pháp có thể được tìm thấy ở đây .

0 hữu ích 2 bình luận chia sẻ
0

Sử dụng phiên bản quá tải của hàm:

 DateTime value = DateTime.Parse(txtFrom.Text,  new CultureInfo("gu-IN", false));

trong đó "gu-IN" dành cho Gujarati (Ấn Độ)

0 hữu ích 0 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ asp.net vb.net visual-studio-2010 , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading