Temporal.Instant
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Đối tượng Temporal.Instant biểu diễn một điểm duy nhất trong thời gian, với độ chính xác nano giây. Về cơ bản, nó được biểu diễn như là số nano giây kể từ epoch Unix (nửa đêm đầu ngày 1 tháng 1 năm 1970, UTC), không có múi giờ hay hệ thống lịch nào.
Mô tả
Temporal.Instant về mặt ngữ nghĩa giống như Date. Cả hai đều đóng gói một điểm duy nhất trong thời gian, nhưng Temporal.Instant chính xác hơn vì nó lưu trữ nano giây thay vì mili giây. Temporal.Instant cũng tránh các bẫy của Date vì nó không giả định bất kỳ thông tin lịch hay múi giờ nào — nếu bạn muốn đọc bất kỳ thông tin ngày hoặc giờ nào như năm hoặc tháng, bạn cần chuyển đổi nó sang Temporal.ZonedDateTime trước, sử dụng toZonedDateTimeISO().
Bạn có thể chuyển đổi từ Date sang Temporal.Instant bằng phương thức Date.prototype.toTemporalInstant(), phương thức này nên được ưu tiên hơn các phương thức khác như Temporal.Instant.fromEpochMilliseconds() vì phương thức trước liên quan đến ít mã người dùng hơn và có thể được tối ưu hóa hơn. Bạn cũng có thể chuyển đổi từ Temporal.Instant sang Date bằng epoch mili giây của nó, chẳng hạn như new Date(instant.epochMilliseconds).
Định dạng RFC 9557
Các đối tượng Instant có thể được tuần tự hóa và phân tích cú pháp bằng định dạng RFC 9557, một phần mở rộng của định dạng ISO 8601 / RFC 3339. Chuỗi có dạng sau (khoảng trắng chỉ để dễ đọc và không nên có mặt trong chuỗi thực tế):
YYYY-MM-DD T HH:mm:ss.sssssssss Z/±HH:mm
YYYY-
Một số bốn chữ số, hoặc một số sáu chữ số với dấu
+hoặc-. MM-
Một số hai chữ số từ
01đến12. DD-
Một số hai chữ số từ
01đến31. Các thành phầnYYYY,MMvàDDcó thể được phân tách bằng-hoặc không có gì. T-
Dấu phân tách ngày-giờ, có thể là
T,t, hoặc dấu cách. HH-
Một số hai chữ số từ
00đến23. mmOptional-
Một số hai chữ số từ
00đến59. Mặc định là00. ss.sssssssssOptional-
Một số hai chữ số từ
00đến59. Có thể tùy chọn theo sau là.hoặc,và một đến chín chữ số. Mặc định là00. Các thành phầnHH,mmvàsscó thể được phân tách bằng:hoặc không có gì. Bạn có thể bỏ qua chỉsshoặc cảssvàmm, vì vậy thời gian có thể ở một trong ba dạng:HH,HH:mm, hoặcHH:mm:ss.sssssssss. Z/±HH:mm-
Ký hiệu UTC
Zhoặcz, hoặc độ lệch từ UTC theo dạng+hoặc-theo sau bởi cùng định dạng như thành phần thời gian. Lưu ý rằng độ chính xác dưới phút (:ss.sssssssss) có thể không được các hệ thống khác hỗ trợ, và được chấp nhận nhưng không bao giờ được xuất ra. Nếu độ lệch được cung cấp, thời gian được diễn giải theo độ lệch được chỉ định.
Khi nhập, bạn có thể tùy chọn bao gồm định danh múi giờ và lịch, theo cùng định dạng như ZonedDateTime, nhưng chúng sẽ bị bỏ qua. Các chú thích khác ở định dạng [key=value] cũng bị bỏ qua, và chúng không được có cờ critical.
Khi tuần tự hóa, bạn có thể cấu hình chữ số giây phân số và độ lệch.
Constructor
Temporal.Instant()Experimental-
Tạo một đối tượng
Temporal.Instantmới bằng cách cung cấp trực tiếp dữ liệu cơ bản.
Phương thức tĩnh
Temporal.Instant.compare()-
Trả về một số (-1, 0, hoặc 1) cho biết instant đầu tiên đến trước, bằng, hoặc sau instant thứ hai. Tương đương với việc so sánh
epochNanosecondscủa hai instant. Temporal.Instant.from()-
Tạo một đối tượng
Temporal.Instantmới từ đối tượngTemporal.Instantkhác, hoặc một chuỗi RFC 9557. Temporal.Instant.fromEpochMilliseconds()-
Tạo một đối tượng
Temporal.Instantmới từ số mili giây kể từ epoch Unix (nửa đêm đầu ngày 1 tháng 1 năm 1970, UTC). Temporal.Instant.fromEpochNanoseconds()-
Tạo một đối tượng
Temporal.Instantmới từ số nano giây kể từ epoch Unix (nửa đêm đầu ngày 1 tháng 1 năm 1970, UTC).
Thuộc tính thực thể
Các thuộc tính này được định nghĩa trên Temporal.Instant.prototype và được chia sẻ bởi tất cả các thực thể Temporal.Instant.
Temporal.Instant.prototype.constructor-
Hàm constructor đã tạo đối tượng thực thể. Đối với các thực thể
Temporal.Instant, giá trị ban đầu là constructorTemporal.Instant(). Temporal.Instant.prototype.epochMilliseconds-
Trả về một số nguyên biểu diễn số mili giây đã trôi qua kể từ epoch Unix (nửa đêm đầu ngày 1 tháng 1 năm 1970, UTC) đến instant này. Tương đương với việc chia
epochNanosecondscho1e6và làm tròn xuống. Temporal.Instant.prototype.epochNanoseconds-
Trả về một
BigIntbiểu diễn số nano giây kể từ epoch Unix (nửa đêm đầu ngày 1 tháng 1 năm 1970, UTC) đến instant này. Temporal.Instant.prototype[Symbol.toStringTag]-
Giá trị ban đầu của thuộc tính
[Symbol.toStringTag]là chuỗi"Temporal.Instant". Thuộc tính này được sử dụng trongObject.prototype.toString().
Phương thức thực thể
Temporal.Instant.prototype.add()-
Trả về một đối tượng
Temporal.Instantmới biểu diễn instant này tiến về phía trước một khoảng thời gian nhất định (ở dạng có thể chuyển đổi bằngTemporal.Duration.from()). Temporal.Instant.prototype.equals()-
Trả về
truenếu instant này tương đương về giá trị với một instant khác (ở dạng có thể chuyển đổi bằngTemporal.Instant.from()), vàfalsenếu không. Chúng được so sánh bằng epoch nano giây của chúng. Tương đương vớiTemporal.Instant.compare(this, other) === 0. Temporal.Instant.prototype.round()-
Trả về một đối tượng
Temporal.Instantmới biểu diễn instant này được làm tròn đến đơn vị đã cho. Temporal.Instant.prototype.since()-
Trả về một đối tượng
Temporal.Durationmới biểu diễn khoảng thời gian từ một instant khác (ở dạng có thể chuyển đổi bằngTemporal.Instant.from()) đến instant này. Khoảng thời gian là dương nếu instant kia trước instant này, và âm nếu sau. Temporal.Instant.prototype.subtract()-
Trả về một đối tượng
Temporal.Instantmới biểu diễn instant này lùi về phía sau một khoảng thời gian nhất định (ở dạng có thể chuyển đổi bằngTemporal.Duration.from()). Temporal.Instant.prototype.toJSON()-
Trả về một chuỗi biểu diễn instant này theo cùng định dạng RFC 9557 như khi gọi
toString(). Được thiết kế để được gọi ngầm định bởiJSON.stringify(). Temporal.Instant.prototype.toLocaleString()-
Trả về một chuỗi với biểu diễn phụ thuộc ngôn ngữ của instant này. Trong các triển khai có hỗ trợ API
Intl.DateTimeFormat, phương thức này ủy quyền choIntl.DateTimeFormat. Temporal.Instant.prototype.toString()-
Trả về một chuỗi biểu diễn instant này theo định dạng RFC 9557 sử dụng múi giờ được chỉ định.
Temporal.Instant.prototype.toZonedDateTimeISO()-
Trả về một đối tượng
Temporal.ZonedDateTimemới biểu diễn instant này theo múi giờ được chỉ định sử dụng hệ thống lịch ISO 8601. Temporal.Instant.prototype.until()-
Trả về một đối tượng
Temporal.Durationmới biểu diễn khoảng thời gian từ instant này đến một instant khác (ở dạng có thể chuyển đổi bằngTemporal.Instant.from()). Khoảng thời gian là dương nếu instant kia sau instant này, và âm nếu trước. Temporal.Instant.prototype.valueOf()-
Ném một
TypeError, ngăn chặn các thực thểTemporal.Instantbị chuyển đổi ngầm định sang kiểu nguyên thủy khi được sử dụng trong các phép tính số học hoặc so sánh.
Đặc tả
| Specification |
|---|
| Temporal> # sec-temporal-instant-objects> |