Sau khi khách hàng tải xuống tệp từ máy chủ của chúng tôi với ứng dụng của chúng tôi, ứng dụng thực hiện ParseExact
trên chuỗi ngày xuống từ máy chủ ở dạng: yyyy/mm/dd HH:mm:ss
.DateTime.ParseExact vấn đề với Thái Lan/Phật giáo Thời đại
Sau nhiều sự nhầm lẫn, tôi nhận thấy trong một số nhật ký rằng ngày trên hệ thống khách hàng là 19/7/2554
. Vì hóa ra đây là thời điểm hợp lệ như ở Thái Lan, Windows mặc định theo hệ thống thời đại Phật giáo, nơi nó là năm 2554.
Chính xác phân tích cú pháp của tôi được thực hiện với một nền văn hóa bất biến, mà tôi nghi ngờ có thể là vấn đề , nhưng tôi nghĩ rằng nền văn hóa đã đề cập đến định dạng mà bạn đang cố phân tích?
Thông điệp ngoại lệ tôi nhận được là: String đã không được công nhận là một giá trị DateTime
vì ngày nào trong tuần là không đúng
Định dạng của bạn dường như không bao gồm ngày trong tuần. Bạn có thể đưa ra ví dụ về chuỗi bạn đang cố phân tích cú pháp và mã đang thực hiện phân tích cú pháp không? –
Thật vậy, bạn có đang chỉ định danh sách định dạng không? – V4Vendetta
Ah kẻ xấu của tôi, tôi hơi say. Hóa ra có một đoạn mã khác mà tôi thậm chí không biết. Rất khó để gỡ lỗi chỉ với một thông báo ngoại lệ từ một tệp nhật ký. Hóa ra đó là lỗi DateTime.Parse, không phải là một phân tích cú pháp. Tôi đã có thể tái tạo vấn đề bằng cách thay đổi khu vực máy tính của tôi sang Thái Lan và xem chính xác nơi nó đang chết. –