tl; dr
Instant.now()
.toString()
2017-01-23T12: 34: 56.123456789Z
UTC
Gene tập hợp tốt nhất để trao đổi dữ liệu cho các giá trị ngày giờ trong UTC (GMT). Hãy để người nhận điều chỉnh theo múi giờ mong muốn.
Instant
Lớp Instant
đại diện cho một thời điểm trên Timeline trong UTC với độ phân giải nano giây.
Instant instant = Instant.now() ;
String output = instant.toString() ; // Generate a String in standard ISO 8601 format.
2017-01-23T12: 34: 56.123456789Z
Bạn có thể dễ dàng phân tích chuỗi đó.
Instant instant = Instant.parse("2017-01-23T12:34:56.123456789Z") ;
ISO
Tiêu chuẩn 8601 ISO 8601 định nghĩa rõ ràng dễ đọc dễ phân tích cú pháp định dạng cho cơ quan đại diện văn bản của các giá trị ngày thời gian. Các định dạng này lý tưởng cho trao đổi dữ liệu.
Trong giây lát ở UTC, điều đó có nghĩa là định dạng được xem trong ví dụ ở trên. T
tách phần ngày khỏi phần thời gian trong ngày. Các Z
cuối cùng là viết tắt của Zulu
và có nghĩa là UTC.
Locale
Câu hỏi đề cập đến ngôn ngữ như thể liên quan đến múi giờ. A Locale
có không có gì để làm với múi giờ. A Locale
chỉ định (a) ngôn ngữ của con người để dịch tên của ngày, tên tháng, và, và (b) các tiêu chuẩn văn hóa quyết định các vấn đề viết tắt, viết hoa, dấu chấm câu, và như vậy.
Múi giờ là lịch sử thay đổi đối với offset-from-UTC của một vùng, theo dõi bất thường gây ra những thay đổi đó như Daylight Saving Time (DST).
Tìm kiếm ngăn xếp tràn để tìm hiểu thêm. Điều này đã được bao phủ hàng trăm lần rồi. Tìm kiếm các lớp học như ZoneId
, ZoneOffset
, ZonedDateTime
, Instant
, OffsetDateTime
và DateTimeFormatter
. Đọc số Oracle Tutorial trên các lớp java.time.
ZonedDateTime zdt = instant.atZone(ZoneId.of("Pacific/Auckland")) ;
điều gì xảy ra khi Ngày được tạo trong một múi giờ và được chuyển đến và được tiêu thụ trong múi giờ khác? – aviad
Ngày tạo trong múi giờ được chuyển đổi thành số mili giây kể từ ngày 1 tháng 1 năm 1970, 00:00:00 GMT (thông qua getTime) và sau đó số này được chuyển đổi thành ngày bất kỳ múi giờ nào. –
Đó có thể là những gì tôi đang tìm kiếm. Số lượng mili giây là bao nhiêu? – Greyshack