Temporal.PlainDateTime.from()

Khả dụng hạn chế

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Phương thức tĩnh Temporal.PlainDateTime.from() tạo một đối tượng Temporal.PlainDateTime mới từ một đối tượng Temporal.PlainDateTime khá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.

Cú pháp

js
Temporal.PlainDateTime.from(info)
Temporal.PlainDateTime.from(info, options)

Tham số

info

Một trong các giá trị sau:

  • Một instance Temporal.PlainDateTime, tạo ra một bản sao của instance đó.
  • Một chuỗi RFC 9557 chứa một ngày, tùy chọn một thời gian, và tùy chọn một lịch.
  • Một đối tượng chứa các thuộc tính được nhận dạng bởi Temporal.PlainDate.from() (calendar, era, eraYear, year, month, monthCode, day) hoặc Temporal.PlainTime.from() (hour, minute, second, millisecond, microsecond, nanosecond). info phải chỉ định rõ ràng một năm (là year hoặc eraeraYear), một tháng (là month hoặc monthCode), và một ngày; các thuộc tính còn lại là tùy chọn và sẽ được đặt về giá trị mặc định.
options Optional

Một đối tượng chứa thuộc tính sau:

overflow Optional

Một chuỗi chỉ định hành vi khi một thành phần ngày nằm ngoài phạm vi (khi sử dụng đối tượng info). Các giá trị có thể là:

"constrain" (mặc định)

Thành phần ngày được kẹp vào phạm vi hợp lệ.

"reject"

Một RangeError được ném ra nếu thành phần ngày nằm ngoài phạm vi.

Giá trị trả về

Một đối tượng Temporal.PlainDateTime mới, đại diện cho ngày và thời gian được chỉ định bởi info trong calendar được chỉ định.

Ngoại lệ

TypeError

Được ném ra trong một trong các trường hợp sau:

  • info không phải là đối tượng hoặc chuỗi.
  • options không phải là đối tượng hoặc undefined.
  • Các thuộc tính được cung cấp không đủ để xác định rõ ràng một ngày. Bạn thường cần cung cấp year (hoặc eraeraYear), month (hoặc monthCode), và day.
RangeError

Được ném ra trong một trong các trường hợp sau:

  • Các thuộc tính được cung cấp chỉ định cùng thành phần nhưng không nhất quán.
  • Các thuộc tính không phải là số được cung cấp không hợp lệ; ví dụ: nếu monthCode không bao giờ là mã tháng hợp lệ trong lịch này.
  • Các thuộc tính số được cung cấp nằm ngoài phạm vi, và options.overflow được đặt là "reject".
  • Thông tin không nằm trong phạm vi có thể biểu diễn, là ±(108 + 1) ngày, khoảng ±273.972,6 năm, tính từ Unix epoch.

Ví dụ

Tạo PlainDateTime từ một đối tượng

js
// Year + month + day + hour + minute + second
const dt = Temporal.PlainDateTime.from({
  year: 2021,
  month: 7,
  day: 1,
  hour: 12,
  minute: 34,
  second: 56,
});
console.log(dt.toString()); // "2021-07-01T12:34:56"

Tạo PlainDateTime từ một chuỗi

js
const dt = Temporal.PlainDateTime.from("2021-07-01T12:34:56");
console.log(dt.toLocaleString()); // "7/1/2021, 12:34:56 PM" (assuming en-US locale)

Để xem thêm ví dụ, đặc biệt về các lịch khác nhau và cài đặt overflow, xem Temporal.PlainDate.from()Temporal.PlainTime.from().

Đặc tả

Thông số kỹ thuật
Temporal
# sec-temporal.plaindatetime.from

Tương thích trình duyệt

Xem thêm