Temporal.PlainDateTime
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Đối tượng Temporal.PlainDateTime đại diện cho một ngày (ngày theo lịch) và thời gian (thời gian trên đồng hồ) mà không có múi giờ. Về cơ bản, nó được biểu diễn như sự kết hợp của một ngày (cùng với hệ thống lịch liên quan) và một thời gian.
Mô tả
Một PlainDateTime về cơ bản là sự kết hợp của Temporal.PlainDate và Temporal.PlainTime. Vì thông tin ngày và thời gian không có nhiều tương tác với nhau, tất cả thông tin chung về thuộc tính ngày được ghi lại trong đối tượng PlainDate, và tất cả thông tin chung về thuộc tính thời gian được ghi lại trong đối tượng PlainTime.
Nếu ngày-giờ đại diện cho một thời điểm cụ thể phải không thay đổi qua các múi giờ, bạn nên sử dụng đối tượng Temporal.ZonedDateTime thay thế. Hãy dùng PlainDateTime khi bạn cần đại diện cho một sự kiện xảy ra tại một thời điểm cụ thể trên đồng hồ, nhưng có thể là thời điểm khác nhau ở các múi giờ khác nhau.
Định dạng RFC 9557
Các đối tượng PlainDateTime có thể được tuần tự hóa và phân tích cú pháp theo đị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 như sau (khoảng trắng chỉ để dễ đọc và không nên có trong chuỗi thực tế):
YYYY-MM-DD T HH:mm:ss.sssssssss [u-ca=calendar_id]
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,MM, vàDDcó thể được phân tách bằng-hoặc không có gì. TOptional-
Ký tự phân cách ngày-giờ, có thể là
T,t, hoặc khoảng trắng. Có mặt khi và chỉ khiHHcó mặt. HHOptional-
Một số hai chữ số từ
00đến23. Mặc định là00. 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 bởi dấu.hoặc,và từ một đến chín chữ số. Mặc định là00. Các thành phầnHH,mm, và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ảsslẫnmm, vì vậy thời gian có thể có một trong ba dạng:HH,HH:mm, hoặcHH:mm:ss.sssssssss. [u-ca=calendar_id]Optional-
Thay
calendar_idbằng lịch muốn sử dụng. XemIntl.supportedValuesOf()để biết danh sách các loại lịch thường được hỗ trợ. Mặc định là[u-ca=iso8601]. Có thể có cờ bắt buộc bằng cách thêm tiền tố!vào trước khóa: ví dụ,[!u-ca=iso8601]. Cờ này thường thông báo cho các hệ thống khác rằng không thể bỏ qua nó nếu chúng không hỗ trợ. Trình phân tích cú phápTemporalsẽ ném lỗi nếu các chú thích chứa hai hoặc nhiều chú thích lịch và một trong số chúng có cờ bắt buộc. Lưu ý rằngYYYY-MM-DDluôn được hiểu là ngày theo lịch ISO 8601 và sau đó được chuyển đổi sang lịch được chỉ định.
Khi nhập vào, bạn có thể tùy chọn bao gồm offset và định danh múi giờ, theo cùng định dạng như ZonedDateTime, nhưng chúng sẽ bị bỏ qua. Lưu ý rằng offset không được là Z. Các chú thích khác theo định dạng [key=value] cũng bị bỏ qua, và chúng không được có cờ bắt buộc.
Khi tuần tự hóa, bạn có thể cấu hình số chữ số phần giây phân số, có hiển thị ID lịch hay không, và có thêm cờ bắt buộc cho nó hay không.
Hàm khởi tạo
Temporal.PlainDateTime()Experimental-
Tạo một đối tượng
Temporal.PlainDateTimemới bằng cách cung cấp trực tiếp dữ liệu cơ sở.
Phương thức tĩnh
Temporal.PlainDateTime.compare()-
Trả về một số (-1, 0, hoặc 1) cho biết ngày-giờ đầu tiên đến trước, giống với, hoặc đến sau ngày-giờ thứ hai. Tương đương với việc so sánh ngày trước, rồi so sánh thời gian nếu ngày giống nhau.
Temporal.PlainDateTime.from()-
Tạo một đối tượng
Temporal.PlainDateTimemới từ một đối tượngTemporal.PlainDateTimekhác, một đối tượng có thuộc tính ngày và thời gian, hoặc một chuỗi RFC 9557.
Thuộc tính instance
Các thuộc tính này được định nghĩa trên Temporal.PlainDateTime.prototype và được chia sẻ bởi tất cả các instance Temporal.PlainDateTime.
Temporal.PlainDateTime.prototype.calendarId-
Trả về một chuỗi đại diện cho lịch được sử dụng để diễn giải ngày ISO 8601 nội bộ.
Temporal.PlainDateTime.prototype.constructor-
Hàm khởi tạo đã tạo ra đối tượng instance. Đối với các instance
Temporal.PlainDateTime, giá trị ban đầu là hàm khởi tạoTemporal.PlainDateTime(). Temporal.PlainDateTime.prototype.day-
Trả về một số nguyên dương đại diện cho chỉ số ngày theo cơ số 1 trong tháng của ngày này, đây là số ngày giống như bạn thấy trên lịch. Phụ thuộc vào lịch. Thường bắt đầu từ 1 và liên tục, nhưng không phải lúc nào cũng vậy.
Temporal.PlainDateTime.prototype.dayOfWeek-
Trả về một số nguyên dương đại diện cho chỉ số ngày theo cơ số 1 trong tuần của ngày này. Các ngày trong tuần được đánh số tuần tự từ
1đếndaysInWeek, với mỗi số ánh xạ đến tên của nó. Phụ thuộc vào lịch. 1 thường đại diện cho Thứ Hai trong lịch, ngay cả khi các vùng ngôn ngữ sử dụng lịch đó có thể coi một ngày khác là ngày đầu tiên của tuần (xemIntl.Locale.prototype.getWeekInfo()). Temporal.PlainDateTime.prototype.dayOfYear-
Trả về một số nguyên dương đại diện cho chỉ số ngày theo cơ số 1 trong năm của ngày này. Ngày đầu tiên của năm là
1, và ngày cuối cùng làdaysInYear. Phụ thuộc vào lịch. Temporal.PlainDateTime.prototype.daysInMonth-
Trả về một số nguyên dương đại diện cho số ngày trong tháng của ngày này. Phụ thuộc vào lịch.
Temporal.PlainDateTime.prototype.daysInWeek-
Trả về một số nguyên dương đại diện cho số ngày trong tuần của ngày này. Phụ thuộc vào lịch. Đối với lịch ISO 8601, luôn là 7, nhưng trong các hệ thống lịch khác nó có thể khác nhau giữa các tuần.
Temporal.PlainDateTime.prototype.daysInYear-
Trả về một số nguyên dương đại diện cho số ngày trong năm của ngày này. Phụ thuộc vào lịch. Đối với lịch ISO 8601, đây là 365, hoặc 366 trong năm nhuận.
Temporal.PlainDateTime.prototype.era-
Trả về một chuỗi chữ thường đặc trưng theo lịch đại diện cho thời đại của ngày này, hoặc
undefinednếu lịch không sử dụng thời đại (ví dụ: ISO 8601).eravàeraYearcùng nhau xác định duy nhất một năm trong lịch, theo cách tương tự nhưyear. Phụ thuộc vào lịch. Đối với Gregorian, đó là"ce"hoặc"bce". Temporal.PlainDateTime.prototype.eraYear-
Trả về một số nguyên không âm đại diện cho năm của ngày này trong thời đại, hoặc
undefinednếu lịch không sử dụng thời đại (ví dụ: ISO 8601). Chỉ số năm thường bắt đầu từ 1 (phổ biến hơn) hoặc 0, và các năm trong một thời đại có thể giảm theo thời gian (ví dụ: Gregorian BCE).eravàeraYearcùng nhau xác định duy nhất một năm trong lịch, theo cách tương tự nhưyear. Phụ thuộc vào lịch. Temporal.PlainDateTime.prototype.hour-
Trả về một số nguyên từ 0 đến 23 đại diện cho thành phần giờ của thời gian này.
Temporal.PlainDateTime.prototype.inLeapYear-
Trả về một giá trị boolean cho biết ngày này có trong năm nhuận không. Năm nhuận là năm có nhiều ngày hơn (do ngày nhuận hoặc tháng nhuận) so với năm thường. Phụ thuộc vào lịch.
Temporal.PlainDateTime.prototype.microsecond-
Trả về một số nguyên từ 0 đến 999 đại diện cho thành phần micro giây (10-6 giây) của thời gian này.
Temporal.PlainDateTime.prototype.millisecond-
Trả về một số nguyên từ 0 đến 999 đại diện cho thành phần mili giây (10-3 giây) của thời gian này.
Temporal.PlainDateTime.prototype.minute-
Trả về một số nguyên từ 0 đến 59 đại diện cho thành phần phút của thời gian này.
Temporal.PlainDateTime.prototype.month-
Trả về một số nguyên dương đại diện cho chỉ số tháng theo cơ số 1 trong năm của ngày này. Tháng đầu tiên của năm là
1, và tháng cuối cùng làmonthsInYear. Phụ thuộc vào lịch. Lưu ý rằng không giống nhưDate.prototype.getMonth(), chỉ số này theo cơ số 1. Nếu lịch có tháng nhuận, tháng có cùngmonthCodecó thể có các chỉ sốmonthkhác nhau cho các năm khác nhau. Temporal.PlainDateTime.prototype.monthCode-
Trả về một chuỗi đặc trưng theo lịch đại diện cho tháng của ngày này. Phụ thuộc vào lịch. Thường là
Mcộng với số tháng hai chữ số. Đối với tháng nhuận, là mã tháng trước theo sau làL. Nếu tháng nhuận là tháng đầu tiên của năm, mã làM00L. Temporal.PlainDateTime.prototype.monthsInYear-
Trả về một số nguyên dương đại diện cho số tháng trong năm của ngày này. Phụ thuộc vào lịch. Đối với lịch ISO 8601, luôn là 12, nhưng trong các hệ thống lịch khác nó có thể khác.
Temporal.PlainDateTime.prototype.nanosecond-
Trả về một số nguyên từ 0 đến 999 đại diện cho thành phần nano giây (10-9 giây) của thời gian này.
Temporal.PlainDateTime.prototype.second-
Trả về một số nguyên từ 0 đến 59 đại diện cho thành phần giây của thời gian này.
Temporal.PlainDateTime.prototype.weekOfYear-
Trả về một số nguyên dương đại diện cho chỉ số tuần theo cơ số 1 trong
yearOfWeekcủa ngày này, hoặcundefinednếu lịch không có hệ thống tuần được xác định rõ ràng. Tuần đầu tiên của năm là1. Phụ thuộc vào lịch. Lưu ý rằng đối với ISO 8601, một vài ngày đầu và cuối năm có thể được tính vào tuần cuối của năm trước hoặc tuần đầu của năm tiếp theo. Temporal.PlainDateTime.prototype.year-
Trả về một số nguyên đại diện cho số năm của ngày này tính từ năm gốc đặc trưng theo lịch. Phụ thuộc vào lịch. Thường năm 1 là năm đầu tiên của thời đại mới nhất hoặc năm ISO 8601
0001. Nếu gốc ở giữa năm, năm đó sẽ có cùng giá trị trước và sau ngày bắt đầu của thời đại. Temporal.PlainDateTime.prototype.yearOfWeek-
Trả về một số nguyên đại diện cho năm được ghép nối với
weekOfYearcủa ngày này, hoặcundefinednếu lịch không có hệ thống tuần được xác định rõ ràng. Phụ thuộc vào lịch. Thường đây là năm của ngày đó, nhưng đối với ISO 8601, một vài ngày đầu và cuối năm có thể được tính vào tuần cuối của năm trước hoặc tuần đầu của năm tiếp theo, khiếnyearOfWeekcó thể chênh lệch 1. Temporal.PlainDateTime.prototype[Symbol.toStringTag]-
Giá trị ban đầu của thuộc tính
[Symbol.toStringTag]là chuỗi"Temporal.PlainDateTime". Thuộc tính này được sử dụng trongObject.prototype.toString().
Phương thức instance
Temporal.PlainDateTime.prototype.add()-
Trả về một đối tượng
Temporal.PlainDateTimemới đại diện cho ngày-giờ này tiến về phía trước một khoảng thời gian cho trước (theo dạng có thể chuyển đổi bởiTemporal.Duration.from()). Temporal.PlainDateTime.prototype.equals()-
Trả về
truenếu ngày-giờ này tương đương về giá trị với một ngày-giờ khác (theo dạng có thể chuyển đổi bởiTemporal.PlainDateTime.from()), vàfalsenếu không. Chúng được so sánh cả theo giá trị ngày giờ lẫn lịch, vì vậy hai ngày-giờ từ các lịch khác nhau có thể được coi là bằng nhau bởiTemporal.PlainDateTime.compare()nhưng không phải bởiequals(). Temporal.PlainDateTime.prototype.round()-
Trả về một đối tượng
Temporal.PlainDateTimemới đại diện cho ngày-giờ này được làm tròn đến đơn vị đã cho. Temporal.PlainDateTime.prototype.since()-
Trả về một đối tượng
Temporal.Durationmới đại diện cho khoảng thời gian từ một ngày-giờ khác (theo dạng có thể chuyển đổi bởiTemporal.PlainDateTime.from()) đến ngày-giờ này. Khoảng thời gian là dương nếu ngày-giờ kia trước ngày-giờ này, và âm nếu sau. Temporal.PlainDateTime.prototype.subtract()-
Trả về một đối tượng
Temporal.PlainDateTimemới đại diện cho ngày-giờ này lùi về phía sau một khoảng thời gian cho trước (theo dạng có thể chuyển đổi bởiTemporal.Duration.from()). Temporal.PlainDateTime.prototype.toJSON()-
Trả về một chuỗi đại diện cho ngày-giờ này theo cùng định dạng RFC 9557 như khi gọi
toString(). Được thiết kế để được gọi ngầm bởiJSON.stringify(). Temporal.PlainDateTime.prototype.toLocaleString()-
Trả về một chuỗi với biểu diễn nhạy cảm ngôn ngữ của ngày-giờ này.
Temporal.PlainDateTime.prototype.toPlainDate()-
Trả về một đối tượng
Temporal.PlainDatemới đại diện cho phần ngày (năm, tháng, ngày) của ngày-giờ này trong cùng hệ thống lịch. Temporal.PlainDateTime.prototype.toPlainTime()-
Trả về một đối tượng
Temporal.PlainTimemới đại diện cho phần thời gian (giờ, phút, giây và các thành phần dưới giây) của ngày-giờ này. Temporal.PlainDateTime.prototype.toString()-
Trả về một chuỗi đại diện cho ngày-giờ này theo định dạng RFC 9557.
Temporal.PlainDateTime.prototype.toZonedDateTime()-
Trả về một instance
Temporal.ZonedDateTimemới đại diện cho cùng ngày-giờ như ngày-giờ thuần này, nhưng trong múi giờ được chỉ định. Temporal.PlainDateTime.prototype.until()-
Trả về một đối tượng
Temporal.Durationmới đại diện cho khoảng thời gian từ ngày-giờ này đến một ngày-giờ khác (theo dạng có thể chuyển đổi bởiTemporal.PlainDateTime.from()). Khoảng thời gian là dương nếu ngày-giờ kia sau ngày-giờ này, và âm nếu trước. Temporal.PlainDateTime.prototype.valueOf()-
Ném
TypeError, ngăn các instanceTemporal.PlainDateTimebị chuyển đổi ngầm thành kiểu nguyên thủy khi được sử dụng trong các phép toán số học hoặc so sánh. Temporal.PlainDateTime.prototype.with()-
Trả về một đối tượng
Temporal.PlainDateTimemới đại diện cho ngày-giờ này với một số trường được thay thế bằng giá trị mới. Temporal.PlainDateTime.prototype.withCalendar()-
Trả về một đối tượng
Temporal.PlainDateTimemới đại diện cho ngày-giờ này được diễn giải trong hệ thống lịch mới. Temporal.PlainDateTime.prototype.withPlainTime()-
Trả về một đối tượng
Temporal.PlainDateTimemới đại diện cho ngày-giờ này với phần thời gian được thay thế hoàn toàn bằng thời gian mới (theo dạng có thể chuyển đổi bởiTemporal.PlainTime.from()).
Đặc tả
| Specification |
|---|
| Temporal> # sec-temporal-plaindatetime-objects> |