Tôi có cấu hình máy chủ-thiết bị mà tôi cần thay đổi cấu hình ngày trang bị, sử dụng UDP. Máy chủ được viết bằng Java và thiết bị, trong Delphi.Ngày chuyển đổi trong Java thành số nguyên và sau đó đến Delphi Time
Vì vậy, dòng chảy của dữ liệu là thế này:
Java server (Java date) -> UDP (integer date) -> Delphi equipment (Delphi date)
Vấn đề là khi tôi vượt qua ngày như một số nguyên, java tính toán miliseconds từ năm 1970, và Delphi, giây. Tôi vượt qua sau đó ngày như sau: today.getTime()/1000
, nhưng thiết bị hiểu điều này như là một năm 2008, khi chúng tôi đang trên 2012.
Tôi có thể thay đổi mã Java, nhưng thiết bị là bên thứ 3 và tôi không có truy cập vào mã nguồn của nó.
Có sự khác biệt giữa phân tích ngày tháng Java và Delphi cho phép sự khác biệt này?
EDIT: Nhờ MДΓΓ БДLL tôi nhận thấy tôi đã nhân với 1.000 thay vì chia cho nó, tôi bây giờ có một ngày tốt hơn, nhưng vẫn sai (được somewhen trong năm 2033, bây giờ nó là vào năm 2008).
Tôi hoàn toàn không hiểu. Bạn cần phải đi từ mili giây từ năm 1970 đến giây (từ năm 1970?) Nhưng bạn đang _multiplying_ bằng 1000? Mili giây => giây có nghĩa là _divide_ trước 1000. –
Tôi không biết bất kỳ loại Ngày nào trong Delphi là giây kể từ năm 1970. Bạn có chắc đây là câu hỏi Delphi không? –
Doh! Tôi đã thực sự nhân thay vì chia ... nhưng nó vẫn không khắc phục được sự cố, xem chỉnh sửa –