Temporal.PlainTime.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.PlainTime.from() tạo một đối tượng Temporal.PlainTime mới từ một đối tượng Temporal.PlainTime khác, một đối tượng với các thuộc tính thời gian, hoặc một chuỗi RFC 9557.

Cú pháp

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

Tham số

info

Một trong những dạng sau:

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 thời gian 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 thời gian đượ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 thời gian nằm ngoài phạm vi.

Giá trị trả về

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

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 với ít nhất một thuộc tính được nhận dạng hoặc là chuỗi.
  • options không phải là đối tượng hoặc undefined.
RangeError

Được ném ra nếu 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".

Ví dụ

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

js
const t1 = Temporal.PlainTime.from({ hour: 0 });
console.log(t1.toString()); // "00:00:00"

const t2 = Temporal.PlainTime.from({ hour: 12, minute: 34, second: 56 });
console.log(t2.toString()); // "12:34:56"

const t3 = Temporal.PlainTime.from({
  hour: 12,
  minute: 34,
  second: 56,
  millisecond: 123,
  microsecond: 456,
  nanosecond: 789,
});
console.log(t3.toString()); // "12:34:56.123456789"

Kiểm soát hành vi overflow

Theo mặc định, các giá trị ngoài phạm vi được kẹp vào phạm vi hợp lệ:

js
const t1 = Temporal.PlainTime.from({ hour: 25 });
console.log(t1.toString()); // "23:00:00"

const t2 = Temporal.PlainTime.from({ hour: 25, minute: 60 });
console.log(t2.toString()); // "23:59:00"

Bạn có thể thay đổi hành vi này để ném ra lỗi thay vì:

js
Temporal.PlainTime.from({ hour: 25 }, { overflow: "reject" });
// RangeError: time value "hour" not in 0..23: 25

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

js
const t1 = Temporal.PlainTime.from("12:34:56.123456789");
console.log(t1.toLocaleString("en-US", { timeStyle: "full" }));
// 12:34:56 PM

Tạo PlainTime từ một thực thể Temporal khác

js
const dt = Temporal.PlainDateTime.from("2021-07-01T12:00");
const t = Temporal.PlainTime.from(dt);
console.log(t.toString()); // "12:00:00"

const zdt = Temporal.ZonedDateTime.from(
  "2021-07-01T00:00+08:00[Asia/Shanghai]",
);
const t2 = Temporal.PlainTime.from(zdt);
console.log(t2.toString()); // "00:00:00"

const t3 = Temporal.PlainTime.from(t);
console.log(t3.toString()); // "12:00:00"

Đặc tả

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

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

Xem thêm