Không có loại dữ liệu như vậy
Không có điều nào như "dấu thời gian JSON". JSON có very few defined data types. Không có loại ngày tháng trong số đó.
Với trạng thái correct Answer do Trạng thái Wombat đáng sợ, số của bạn rõ ràng là tổng số giây từ kỷ nguyên Unix năm 1970. Lớp java.util.Date theo dõi thời gian bằng mili giây kể từ Unix epoch, thay vì toàn bộ giây. Vì vậy, bạn cần nhân với 1.000. Bạn cũng cần xử lý long
số nguyên (64 bit) thay vì int
(32 bit). Thêm một chữ hoa L
vào các chữ số, và khai báo bất kỳ biến nào là long
.
Lớp java.util.Date/.Calendar nổi tiếng là rắc rối. Chúng được thay thế bởi java.time package được tích hợp vào Java 8 trở lên và/hoặc thư viện Joda-Time của bên thứ ba.
Các thư viện xử lý JSON khác nhau hỗ trợ các trình biến đổi để tạo các đối tượng java.time hoặc Joda-Time. Hoặc bạn có thể thực hiện chuyển đổi trong mã của mình, được hiển thị bên dưới.
Lưu ý rằng cả java.time và Joda-Time đều hỗ trợ gán múi giờ. Mã dưới đây chỉ định UTC cho mục đích trình diễn, nhưng bạn có thể chỉ định vùng mong muốn/mong đợi của mình.
Joda thời gian
Dưới đây là một số mã trong Joda-Time 2.8.1 cho thấy việc sử dụng các số đầu vào của bạn là một trong hai giây hoặc mili giây.
long secondsSinceEpoch = 1419038000L;
DateTime dateTimeSeconds = new DateTime(secondsSinceEpoch , DateTimeZone.UTC);
DateTime dateTimeMillis = new DateTime(secondsSinceEpoch * 1000L , DateTimeZone.UTC); // Note the crucial "L" appended to the numeric literal.
Dump to console.
System.out.println("dateTimeSeconds: " + dateTimeSeconds);
System.out.println("dateTimeMillis: " + dateTimeMillis);
Khi chạy.
dateTimeSeconds: 1970-01-17T10:10:38.000Z
dateTimeMillis: 2014-12-20T01:13:20.000Z
java.time
đang Tương tự như trên, nhưng sử dụng java.time Java 8.
Instant instant = Instant.ofEpochSecond(1419038000L);
ZonedDateTime zdtUtc = ZonedDateTime.ofInstant(instant , ZoneOffset.UTC);
ZonedDateTime zdtMontréal = zdtUtc.withZoneSameInstant(ZoneId.of("America/Montreal"));
Dump để an ủi.
System.out.println("zdtUtc: " + zdtUtc);
System.out.println("zdtMontréal: " + zdtMontréal);
Khi chạy.
zdtUtc: 2014-12-20T01:13:20Z
zdtMontréal: 2014-12-19T20:13:20-05:00[America/Montreal]
Bạn phân tích cú pháp Json như thế nào? Hãy xem gson hoặc jackson – beresfordt
@pavankumarparasa Vui lòng tránh đăng thông tin và dữ liệu không liên quan. Giảm thiểu kịch bản của bạn ở mức tối thiểu cần thiết để chứng minh vấn đề của bạn. Xem [Cách tạo một ví dụ tối thiểu, đầy đủ và có thể xác minh được] (http://stackoverflow.com/help/mcve). –