Temporal.PlainDate
Khả dụng hạn chế
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Đối tượng Temporal.PlainDate đại diện cho một ngày trên lịch (một ngày không có giờ hoặc múi giờ); ví dụ, một sự kiện trên lịch xảy ra trong suốt cả ngày bất kể múi giờ nào. Về cơ bản, nó được biểu diễn dưới dạng một ngày lịch ISO 8601, với các trường năm, tháng và ngày, cùng với một hệ thống lịch được liên kết.
Mô tả
PlainDate về cơ bản là phần ngày của đối tượng Temporal.PlainDateTime, với thông tin thời gian bị loại bỏ. Vì thông tin ngày và giờ không có nhiều tương tác, tất cả thông tin chung về các thuộc tính ngày được ghi lại ở đây.
Định dạng RFC 9557
Các đối tượng PlainDate 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 được có trong chuỗi thực tế):
YYYY-MM-DD [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,MMvàDDcó thể được phân tách bằng-hoặc không có gì. [u-ca=calendar_id]Optional-
Thay thế
calendar_idbằng lịch cầ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ờ quan trọng bằng cách thêm tiền tố!vào key: ví dụ,[!u-ca=iso8601]. Cờ này thường thông báo cho các hệ thống khác rằng nó không thể bị bỏ qua nếu họ không hỗ trợ nó. 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 là quan trọng. Lưu ý rằngYYYY-MM-DDluôn được hiểu là ngày lịch ISO 8601 và sau đó được chuyển đổi sang lịch được chỉ định.
Là đầu vào, bạn có thể tùy chọn bao gồm giờ, độ lệch và định danh múi giờ, theo cùng định dạng như PlainDateTime, 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ờ quan trọng.
Khi tuần tự hóa, bạn có thể cấu hình xem có hiển thị ID lịch hay không và có thêm cờ quan trọng cho nó hay không.
Kẹp ngày không hợp lệ
Các phương thức Temporal.PlainDate.from(), Temporal.PlainDate.prototype.with(), Temporal.PlainDate.prototype.add(), Temporal.PlainDate.prototype.subtract() và các phương thức tương đương trong các đối tượng Temporal khác, cho phép xây dựng ngày bằng cách sử dụng các thuộc tính dành riêng cho lịch. Các thành phần ngày có thể nằm ngoài phạm vi. Trong lịch ISO, đây luôn là tràn, chẳng hạn như tháng lớn hơn 12 hoặc ngày lớn hơn số ngày, và việc sửa nó chỉ liên quan đến việc kẹp giá trị về giá trị tối đa được phép. Trong các lịch khác, trường hợp không hợp lệ có thể phức tạp hơn. Khi sử dụng tùy chọn overflow: "constrain", các ngày không hợp lệ được sửa thành ngày hợp lệ theo cách sau:
- Nếu ngày không tồn tại nhưng tháng tồn tại: chọn ngày gần nhất trong cùng tháng. Nếu có hai ngày cách đều nhau trong tháng đó, chọn ngày sau.
- Nếu tháng là tháng nhuận không tồn tại trong năm: chọn ngày khác theo quy ước văn hóa của người dùng lịch đó. Thông thường điều này sẽ dẫn đến cùng ngày trong tháng trước hoặc sau khi tháng đó thường rơi vào trong năm nhuận.
- Nếu tháng không tồn tại trong năm vì lý do khác: chọn ngày gần nhất vẫn còn trong cùng năm. Nếu có hai ngày cách đều nhau trong năm đó, chọn ngày sau.
- Nếu toàn bộ năm không tồn tại: chọn ngày gần nhất trong một năm khác. Nếu có hai ngày cách đều nhau, chọn ngày sau.
Constructor
Temporal.PlainDate()Thử nghiệm-
Tạo một đối tượng
Temporal.PlainDatemới bằng cách cung cấp trực tiếp dữ liệu bên dưới.
Phương thức tĩnh
Temporal.PlainDate.compare()-
Trả về một số (-1, 0 hoặc 1) cho biết ngày đầu tiên đến trước, bằng hoặc sau ngày thứ hai. Tương đương với việc so sánh các trường năm, tháng và ngày của các ngày ISO 8601 bên dưới.
Temporal.PlainDate.from()-
Tạo một đối tượng
Temporal.PlainDatemới từ đối tượngTemporal.PlainDatekhác, đối tượng có thuộc tính ngày, hoặc chuỗi RFC 9557.
Thuộc tính instance
Các thuộc tính này được định nghĩa trên Temporal.PlainDate.prototype và được chia sẻ bởi tất cả các instance Temporal.PlainDate.
Temporal.PlainDate.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 bên trong.
Temporal.PlainDate.prototype.constructor-
Hàm constructor đã tạo đối tượng instance. Đối với các instance
Temporal.PlainDate, giá trị ban đầu là constructorTemporal.PlainDate(). Temporal.PlainDate.prototype.day-
Trả về một số nguyên dương đại diện cho chỉ mục ngày dựa trên 1 trong tháng của ngày này, là cùng số ngày bạn sẽ 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.PlainDate.prototype.dayOfWeek-
Trả về một số nguyên dương đại diện cho chỉ mục ngày trong tuần dựa trên 1 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ạ tới 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 locale 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.PlainDate.prototype.dayOfYear-
Trả về một số nguyên dương đại diện cho chỉ mục ngày trong năm dựa trên 1 của ngày này. Ngày đầu tiên của năm này là
1, và ngày cuối cùng làdaysInYear. Phụ thuộc vào lịch. Temporal.PlainDate.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.PlainDate.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, đây luôn là 7, nhưng trong các hệ thống lịch khác, nó có thể khác nhau từ tuần này sang tuần khác.
Temporal.PlainDate.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.PlainDate.prototype.era-
Trả về một chuỗi chữ thường dành riêng cho lịch đại diện cho kỷ nguyên của ngày này, hoặc
undefinednếu lịch không sử dụng kỷ nguyên (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.PlainDate.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 kỷ nguyên, hoặc
undefinednếu lịch không sử dụng kỷ nguyên (ví dụ, ISO 8601). Chỉ mục 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 kỷ nguyên 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.PlainDate.prototype.inLeapYear-
Trả về một boolean cho biết ngày này có phải là 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 thường. Phụ thuộc vào lịch.
Temporal.PlainDate.prototype.month-
Trả về một số nguyên dương đại diện cho chỉ mục tháng dựa trên 1 trong năm của ngày này. Tháng đầu tiên của năm này 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ỉ mục dựa trên 1. Nếu lịch có tháng nhuận, thì tháng có cùngmonthCodecó thể có các chỉ mụcmonthkhác nhau cho các năm khác nhau. Temporal.PlainDate.prototype.monthCode-
Trả về một chuỗi dành riêng cho 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ã của tháng trước theo sau bởiL. Nếu tháng nhuận là tháng đầu tiên của năm, mã làM00L. Temporal.PlainDate.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, đây luôn là 12, nhưng trong các hệ thống lịch khác, nó có thể khác nhau.
Temporal.PlainDate.prototype.weekOfYear-
Trả về một số nguyên dương đại diện cho chỉ mục tuần dựa trên 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 số ngày đầu và cuối năm có thể được gán cho tuần cuối cùng của năm trước hoặc tuần đầu tiên của năm tiếp theo. Temporal.PlainDate.prototype.year-
Trả về một số nguyên đại diện cho số năm của ngày này tương đối so với năm bắt đầu của kỷ nguyên dành riêng cho lịch. Phụ thuộc vào lịch. Thường năm 1 là năm đầu tiên của kỷ nguyên mới nhất hoặc năm ISO 8601
0001. Nếu kỷ nguyên nằm ở giữa năm, năm đó sẽ có cùng giá trị trước và sau ngày bắt đầu của kỷ nguyên. Temporal.PlainDate.prototype.yearOfWeek-
Trả về một số nguyên đại diện cho năm được ghép 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 số ngày đầu và cuối năm có thể được gán cho tuần cuối cùng của năm trước hoặc tuần đầu tiên của năm tiếp theo, khiếnyearOfWeekchênh lệch 1. Temporal.PlainDate.prototype[Symbol.toStringTag]-
Giá trị ban đầu của thuộc tính
[Symbol.toStringTag]là chuỗi"Temporal.PlainDate". Thuộc tính này được sử dụng trongObject.prototype.toString().
Phương thức instance
Temporal.PlainDate.prototype.add()-
Trả về một đối tượng
Temporal.PlainDatemới đại diện cho ngày này được tiến về phía trước theo một khoảng thời gian nhất định (ở dạng có thể chuyển đổi bởiTemporal.Duration.from()). Temporal.PlainDate.prototype.equals()-
Trả về
truenếu ngày này tương đương về giá trị với một ngày khác (ở dạng có thể chuyển đổi bởiTemporal.PlainDate.from()), vàfalsenếu không. Chúng được so sánh cả về giá trị ngày và lịch của chúng. Temporal.PlainDate.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 khác (ở dạng có thể chuyển đổi bởiTemporal.PlainDate.from()) đến ngày này. Khoảng thời gian là dương nếu ngày kia trước ngày này, và âm nếu sau. Temporal.PlainDate.prototype.subtract()-
Trả về một đối tượng
Temporal.PlainDatemới đại diện cho ngày này được lùi về phía sau theo một khoảng thời gian nhất định (ở dạng có thể chuyển đổi bởiTemporal.Duration.from()). Temporal.PlainDate.prototype.toJSON()-
Trả về một chuỗi đại diện cho ngày này theo cùng định dạng RFC 9557 như khi gọi
toString(). Dự định được gọi ngầm bởiJSON.stringify(). Temporal.PlainDate.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 này.
Temporal.PlainDate.prototype.toPlainDateTime()-
Trả về một đối tượng
Temporal.PlainDateTimemới đại diện cho ngày này và một giờ được cung cấp trong cùng hệ thống lịch. Temporal.PlainDate.prototype.toPlainMonthDay()-
Trả về một đối tượng
Temporal.PlainMonthDaymới đại diện chomonthCodevàdaycủa ngày này trong cùng hệ thống lịch. Temporal.PlainDate.prototype.toPlainYearMonth()-
Trả về một đối tượng
Temporal.PlainYearMonthmới đại diện choyearvàmonthcủa ngày này trong cùng hệ thống lịch. Temporal.PlainDate.prototype.toString()-
Trả về một chuỗi đại diện cho ngày này theo định dạng RFC 9557.
Temporal.PlainDate.prototype.toZonedDateTime()-
Trả về một đối tượng
Temporal.ZonedDateTimemới đại diện cho ngày này, một giờ được cung cấp và một múi giờ được cung cấp, trong cùng hệ thống lịch. Temporal.PlainDate.prototype.until()-
Trả về một đối tượng
Temporal.Durationmới đại diện cho khoảng thời gian từ ngày này đến một ngày khác (ở dạng có thể chuyển đổi bởiTemporal.Instant.from()). Khoảng thời gian là dương nếu ngày kia sau ngày này, và âm nếu trước. Temporal.PlainDate.prototype.valueOf()-
Ném ra
TypeError, ngăn các instanceTemporal.PlainDatebị chuyển đổi ngầm thành các giá trị 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.PlainDate.prototype.with()-
Trả về một đối tượng
Temporal.PlainDatemới đại diện cho ngày này với một số trường được thay thế bằng các giá trị mới. Temporal.PlainDate.prototype.withCalendar()-
Trả về một đối tượng
Temporal.PlainDatemới đại diện cho ngày này được diễn giải trong hệ thống lịch mới.
Đặc tả
| Thông số kỹ thuật |
|---|
| Temporal> # sec-temporal-plaindate-objects> |