Không tải lên, 100% cục bộ, không cần tài khoản

Trình chuyển đổi khoảng thời gian ISO 8601

Nhập khoảng thời gian ISO 8601 để phân tích và chuyển sang số giây.

Cách Trình chuyển đổi khoảng thời gian ISO 8601 hoạt động

Bộ Chuyển Đổi Thời Lượng ISO 8601 phân tích cú pháp và chuyển đổi các thời lượng được viết theo định dạng ISO 8601 (ví dụ P1Y2M10DT4H30M) thành bảng phân tích dễ đọc gồm năm, tháng, ngày, giờ, phút và giây, đồng thời tính tổng theo giây cho các thành phần thời gian. Quá trình chuyển đổi chạy hoàn toàn trong trình duyệt; không có gì bạn nhập được truyền đến bất kỳ máy chủ nào, và công cụ hoạt động ngoại tuyến sau khi trang được tải.

Chuỗi thời lượng ISO 8601 bắt đầu bằng 'P' (cho Period), theo sau là các thành phần ngày (Y cho năm, M cho tháng, W cho tuần, D cho ngày) và tùy chọn dấu tách 'T' theo sau là các thành phần thời gian (H cho giờ, M cho phút, S cho giây). Tuần (W) là trường hợp đặc biệt: khi có mặt, không được có thành phần ngày nào khác. Đầu ra tổng giây chỉ bao gồm phần thời gian xác định (giờ, phút, giây) vì tháng và năm có độ dài thay đổi theo ngày và không thể chuyển đổi sang giây nếu không có ngày tham chiếu.

Cách sử dụng Trình chuyển đổi khoảng thời gian ISO 8601, từng bước

  1. Nhập hoặc dán chuỗi thời lượng ISO 8601 vào ô nhập (ví dụ P3Y6M4DT12H30M5S).
  2. Đọc bảng phân tích thành phần: năm, tháng, tuần, ngày, giờ, phút, giây.
  3. Kiểm tra giá trị tổng giây cho phần thời gian (chỉ các thành phần H/M/S).
  4. Ngoài ra, điền vào các ô thành phần riêng lẻ và chuỗi ISO sẽ được tạo cho bạn.

Trường hợp sử dụng thường gặp

  • Một lập trình viên đang gỡ lỗi phản hồi API trả về thời lượng ở định dạng ISO 8601 và cần xác minh các giá trị đã phân tích.
  • Một người viết tài liệu kỹ thuật đang ghi chép hệ thống chấp nhận chuỗi thời lượng ISO và muốn hiển thị ý nghĩa của từng thành phần.
  • Một chuyên gia phân tích dữ liệu cần chuyển đổi tập hợp các giá trị thời lượng ISO từ xuất cơ sở dữ liệu thành tổng giây để phân tích thống kê.
  • Một lập trình viên tạo dữ liệu lịch hoặc lập lịch cần xây dựng chuỗi thời lượng ISO 8601 hợp lệ từ các giá trị thành phần thời gian riêng lẻ.

Câu hỏi thường gặp

Mỗi chữ cái trong chuỗi thời lượng ISO 8601 có nghĩa là gì?

P đánh dấu bắt đầu khoảng thời gian. Y = năm, M trước dấu tách T = tháng, W = tuần, D = ngày. Sau dấu tách T: H = giờ, M = phút, S = giây. Chuỗi P1Y2M10DT4H30M có nghĩa là 1 năm, 2 tháng, 10 ngày, 4 giờ và 30 phút.

Tại sao công cụ chỉ có thể chuyển đổi giờ, phút và giây sang tổng giây, không phải tháng và năm?

Tháng dao động từ 28 đến 31 ngày và năm dao động từ 365 đến 366 ngày. Không có ngày bắt đầu tham chiếu, không có số giây chính xác duy nhất cho 'một tháng'. Giờ, phút và giây có độ dài cố định và chuyển đổi xác định. Để lấy tổng giây cho thời lượng bao gồm tháng hoặc năm, hãy dùng công cụ cộng ngày với ngày bắt đầu cụ thể và tính hiệu số ngày.

Sự khác biệt giữa PT1H30M và P0Y0M0DT1H30M là gì?

Chúng có ngữ nghĩa giống hệt nhau. Cả hai đều đại diện cho thời lượng 1 giờ 30 phút. ISO 8601 cho phép bỏ qua các thành phần có giá trị bằng không, vì vậy PT1H30M là dạng gọn và P0Y0M0DT1H30M là dạng tường minh. Cả hai đều hợp lệ.

Chuỗi thời lượng có thể bao gồm tuần cùng với ngày không?

Không. Khi dùng ký hiệu W (tuần) trong thời lượng ISO 8601, tiêu chuẩn cấm các ký hiệu ngày khác (Y, M, D) trong cùng một chuỗi. Thời lượng chỉ theo tuần trông như P3W, có nghĩa là chính xác 3 tuần.

Chuỗi thời lượng ISO tôi nhập có được lưu hoặc gửi đi đâu không?

Không. Quá trình phân tích cú pháp là thao tác chuỗi cục bộ thuần túy không có phụ thuộc bên ngoài. Chuỗi thời lượng bạn nhập tồn tại trong tab trình duyệt và không được ghi lại, truyền đi hay lưu vào bộ nhớ đệm ngoài phiên làm việc.

Thời lượng âm có hợp lệ trong ISO 8601 không?

Tiêu chuẩn ISO 8601 cốt lõi không định nghĩa thời lượng âm. Một số triển khai mở rộng cho phép dấu trừ đứng đầu (ví dụ -P1D có nghĩa là 'trừ một ngày'). Công cụ này phân tích cú pháp các thời lượng không âm chuẩn; nếu trường hợp sử dụng của bạn yêu cầu thời lượng âm, hãy xác minh quy ước cụ thể của API hoặc hệ thống bạn đang làm việc.