JavaScript có một phương thức "To ISO Date String" được tích hợp sẵn cho đối tượng ngày tháng của chúng. Tại sao nhiều nhà phát triển phần mềm không sử dụng chức năng tích hợp sẵn?
Sử dụng hàm tạo
1996-10-15T00:05:32.000Z2 để chuyển đổi chuỗi ISO thành đối tượng ngày tháng, e. g.
1996-10-15T00:05:32.000Z3. Hàm tạo
1996-10-15T00:05:32.000Z2 sẽ dễ dàng phân tích cú pháp chuỗi ISO 8601 và sẽ trả về một đối tượng
1996-10-15T00:05:32.000Z5
Chúng tôi đã sử dụng hàm tạo Date[] để tạo đối tượng
1996-10-15T00:05:32.000Z5 từ chuỗi ISO
Trong ví dụ đầu tiên, chúng tôi đã chuyển trực tiếp chuỗi ISO tới hàm tạo
1996-10-15T00:05:32.000Z5
Thời gian trong chuỗi ISO là
1996-10-15T00:05:32.000Z8, tuy nhiên đối tượng
1996-10-15T00:05:32.000Z5 đã tạo hiển thị
1996-10-15T00:05:32.000Z0
Điều này là do múi giờ của tôi trước 3 giờ so với Giờ Phối hợp Quốc tế [UTC]
Trong ví dụ thứ hai, chúng tôi đã sử dụng phương thức slice để loại bỏ
1996-10-15T00:05:32.000Z1 khỏi phần cuối của chuỗi ISO và tạo một đối tượng
1996-10-15T00:05:32.000Z5 theo giờ địa phương -
1996-10-15T00:05:32.000Z8 [chính xác cùng lúc với chuỗi ISO của chúng tôi]
Nếu có
1996-10-15T00:05:32.000Z1, thì
1996-10-15T00:05:32.000Z5 được đặt thành UTC. Nếu không có
1996-10-15T00:05:32.000Z1, nó sẽ được đặt thành giờ địa phương [điều này chỉ áp dụng nếu thời gian được cung cấp]
1996-10-15T00:05:32.000Z1 ở cuối chuỗi ISO có nghĩa là UTC, nói cách khác, phần bù từ UTC là 0 giờ, phút và giây
Đây là một cách dễ dàng để hình dung mọi thứ
Khi chúng ta chuyển trực tiếp chuỗi ISO đến hàm tạo
1996-10-15T00:05:32.000Z2, các phương thức
1996-10-15T00:05:32.000Z37 trả về các thành phần chính xác cùng thời điểm có trong chuỗi ISO
Để nhất quán, bạn nên sử dụng chủ yếu giờ địa phương khi phải hiển thị ngày và giờ cho người dùng, nhưng bạn nên lưu trữ các giá trị thực ở dạng UTC [chuỗi ISO 8601 hợp lệ]
Ví dụ: nếu bạn lưu trữ giờ địa phương [không có
1996-10-15T00:05:32.000Z1] lúc nửa đêm [00. 00] trong cơ sở dữ liệu của bạn, bạn sẽ không biết nếu đó là nửa đêm ở Tokyo [Nhật Bản], ở Paris [Pháp], ở New York [Mỹ], v.v. Đây là tất cả những khoảnh khắc khác nhau cách nhau hàng giờ
Sau đó, chúng tôi đã nhận được biểu diễn theo định dạng ISO của chuỗi ngày bằng cách gọi phương thức toISOString trên đối tượng
1996-10-15T00:05:32.000Z5
Nếu chuỗi ngày của bạn không được định dạng theo cách mà hàm tạo
1996-10-15T00:05:32.000Z2 có thể hiểu được, thì bạn có 2 tùy chọn
- Định dạng chuỗi ngày là
1996-10-15T00:05:32.000Z
3, e. g.1996-10-15T00:05:32.000Z
4 - Định dạng chuỗi ngày theo cách mà hàm tạo
1996-10-15T00:05:32.000Z
2 có thể hiểu được, e. g.1996-10-15T00:05:32.000Z
60
Ví dụ: nếu bạn có một chuỗi ngày được định dạng là
1996-10-15T00:05:32.000Z60, bạn chỉ cần nối thêm
1996-10-15T00:05:32.000Z62
Dưới đây là một ví dụ, trong đó chúng tôi tách chuỗi và thêm các số 0 đứng đầu vào các thành phần tháng và ngày để có được chuỗi ISO hợp lệ
Chúng tôi đã sử dụng phương pháp phân tách để phân tách chuỗi ngày trên mỗi dấu gạch chéo về phía trước
1996-10-15T00:05:32.000Z63
Chúng tôi đã sử dụng phá hủy mảng để gán các chuỗi con chứa tháng, ngày và năm cho các biến
Các giá trị tháng và ngày có thể là một chữ số [thấp hơn
1996-10-15T00:05:32.000Z64], vì vậy chúng tôi đã sử dụng hàm
1996-10-15T00:05:32.000Z65 để thêm số 0 ở đầu nếu cần
Ví dụ
Nhận ngày dưới dạng chuỗi, sử dụng tiêu chuẩn ISO
const d = new Date[];
let text = d. toISOString[];
Định nghĩa và cách sử dụng
Phương thức toISOString[] trả về một đối tượng ngày tháng dưới dạng một chuỗi, sử dụng tiêu chuẩn ISO
Tiêu chuẩn được gọi là ISO-8601 và định dạng là. YYYY-MM-DDTHH. mm. ss. sssZ
Hỗ trợ trình duyệt
1996-10-15T00:05:32.000Z6 là một tính năng ECMAScript5 [ES5]
ES5 [JavaScript 2009] được hỗ trợ đầy đủ trên mọi trình duyệt
ChromeEdgeFirefoxSafariOperaIECóCóCóCóCó9-11cú pháp
Thông số
chi tiết kỹ thuật
Giá trị trả về. Một chuỗi, biểu thị ngày và giờ bằng định dạng chuẩn ISO Phiên bản JavaScript. ECMAScript 5Cuộc hẹn. phương thức toISOString[] được sử dụng để chuyển đổi nội dung của đối tượng ngày đã cho thành một chuỗi ở định dạng ISO [ISO 8601] i. e, ở dạng [YYYY-MM-DDTHH. mm. ss. sssZ hoặc ±YYYY-MM-DDTHH. mm. ss. sssZ]. Đối tượng ngày được tạo bằng hàm tạo date[].
cú pháp
dateObj.toISOString[]
Thông số. Phương thức này không nhận bất kỳ tham số nào. Nó chỉ được sử dụng cùng với một đối tượng Date được tạo bằng hàm tạo Date[].
Giá trị trả về. Nó trả về chuỗi nội dung hàm tạo Date[] đã chuyển đổi thành định dạng ISO [ISO 8601].
Ghi chú. DateObj là một đối tượng Date hợp lệ được tạo bằng hàm tạo Date[]
Dưới đây là ví dụ về phương thức Date toISOString[]
ví dụ 1
jav
1996-10-15T00:05:32.000Z3
1996-10-15T00:05:32.000Z4
1996-10-15T00:05:32.000Z5
1996-10-15T00:05:32.000Z6
1996-10-15T00:05:32.000Z7
1996-10-15T00:05:32.000Z8
1996-10-15T00:05:32.000Z0____11
1996-10-15T00:05:32.000Z2
1996-10-15T00:05:32.000Z3
1996-10-15T00:05:32.000Z4
1996-10-15T00:05:32.000Z5
1996-10-15T00:05:32.000Z6
1996-10-15T00:05:32.000Z2
1996-10-15T00:05:32.000Z8
1996-10-15T00:05:32.000Z9
đầu ra
1996-10-15T00:05:32.000Z
ví dụ 2. Ở đây không có tham số nào được truyền trong khi tạo đối tượng ngày nhưng phương thức toISOString[] vẫn trả về tên ngày, tên tháng, ngày, năm và thời gian hiện tại.
jav
1996-10-15T00:05:32.000Z10
1996-10-15T00:05:32.000Z4
1996-10-15T00:05:32.000Z5
1996-10-15T00:05:32.000Z13
1996-10-15T00:05:32.000Z7
1996-10-15T00:05:32.000Z15
1996-10-15T00:05:32.000Z2
1996-10-15T00:05:32.000Z17
1996-10-15T00:05:32.000Z18
1996-10-15T00:05:32.000Z5
1996-10-15T00:05:32.000Z6
1996-10-15T00:05:32.000Z2
1996-10-15T00:05:32.000Z8
1996-10-15T00:05:32.000Z9
đầu ra
1996-10-15T00:05:32.000Z1
ví dụ 3. Ở đây chúng ta sẽ truyền một đối tượng ngày cho phương thức ISOString[] trả về tên ngày, tên tháng, ngày, năm và thời gian.
jav
1996-10-15T00:05:32.000Z10
1996-10-15T00:05:32.000Z4
1996-10-15T00:05:32.000Z5
1996-10-15T00:05:32.000Z6
1996-10-15T00:05:32.000Z7
1996-10-15T00:05:32.000Z8
1996-10-15T00:05:32.000Z30
1996-10-15T00:05:32.000Z1
1996-10-15T00:05:32.000Z2
1996-10-15T00:05:32.000Z17
1996-10-15T00:05:32.000Z18
1996-10-15T00:05:32.000Z5
1996-10-15T00:05:32.000Z6
1996-10-15T00:05:32.000Z2
1996-10-15T00:05:32.000Z8
1996-10-15T00:05:32.000Z9
đầu ra
1996-10-15T00:05:32.000Z1
Ghi chú. Tháng, Ngày, giờ, phút, giây và mili giây đều phải nằm trong phạm vi tương ứng từ 0 đến 11, 1 đến 31, 0 đến 23, 0 đến 59, 0 đến 59, 0 đến 999 tương ứng.
Chúng tôi có một danh sách đầy đủ các Đối tượng ngày Javascript, để kiểm tra những đối tượng đó, vui lòng xem qua bài viết tham khảo đầy đủ về đối tượng ngày Javascript này
Trình duyệt được hỗ trợ. Các trình duyệt được phương thức JavaScript Date toISOString[] hỗ trợ được liệt kê bên dưới
- Google Chrome
- trình duyệt web IE
- Mozilla Firefox
- Ô-pê-ra
- Cuộc đi săn
Chúng tôi có một Cheat Sheet về Javascript, nơi chúng tôi đề cập đến tất cả các chủ đề quan trọng của Javascript để kiểm tra những chủ đề đó, vui lòng xem qua Javascript Cheat Sheet-Hướng dẫn cơ bản về JavaScript