Hh:mm:ss là gì

Chào các bạn, lại là homiedev đây, trong bài viết này chúng ta sẽ tìm hiểu về một built-in object: Date. Date trong JavaScript cung cấp thông tin date/time và các method cho chúng ta xử lý những thứ liên quan đến date/time.

Ví dụ: chúng ta có thể sử dụng nó để lưu thời gian tạo / sửa đổi hoặc lấy thông tin ngày hiện tại...

Để tạo một object Date mới, chúng ta sử dụng new Date() với một trong các đối số sau:

new Date(): Không có đối số - tạo object Date với date và time hiện tại.

new Date(milliseconds): Tạo object Date chứa một số milliseconds (mili giây) (1/1000 giây) tính từ ngày 1 tháng 1 năm 1970 theo giờ UTC.

Các ngày trước 01.01.1970 có timestamp âm (new Date(timestamp)), ví dụ:

new Date(datestring): Nếu có một đối số được truyền vào và là một chuỗi thì nó sẽ tự động phân tích cú pháp (parsed automatically).

Chúng ta nên sử dụng datestring có dạng YYYY-MM-DDTHH:mm:ss.sssZ, đây là chuẩn ISO 8601:

  1. YYYY-MM-DD: year-month-day.
  2. Chữ cái "T" sử dụng làm dấu phân cách.
  3. HH:mm:ss.sss – là thời gian theo thứ tự: hours, minutes, seconds và milliseconds.
  4. Chữ cái "Z" (optional) biểu thị múi giờ (time zone) ở định dạng +-hh:mm. Một chữ cái Z có nghĩa là UTC + 0.

Chúng ta có thể sử dụng các biến thể ngắn hơn, như YYYY-MM-DD, new Date()0 hay new Date()1.

Ở đoạn code trên, nếu ta không thêm vào time, nó sẽ được giả định là new Date()2 theo múi giờ GMT (Greenwich Mean Time - GMT +00:00).

Thuật ngữ 'GMT' cũng được sử dụng làm một trong những tên gọi của múi giờ new Date()3.

Khi ta chạy đoạn code trên thì, giá trị time sẽ được điều chỉnh theo múi giờ nơi code được chạy.

new Date(year, month, date, hours, minutes, seconds, ms): tạo một object Date với date và time cụ thể.

Với dạng này thì 2 đối số đầu tiên là bắt buộc.

  1. Giá trị new Date()4 nên có 4 chữ số. Chúng ta có thể truyền 2 chữ số và nó sẽ là new Date()5, ví dụ: truyền 89 sẽ thành 1989, nhưng chúng ta nên sử dụng 4 chữ số để dễ đọc, dễ hiểu hơn nhé.
  2. new Date()6 bắt đầu bằng 0 (tháng 1), đến 11 (tháng 12).
  3. new Date()7 là ngày trong tháng, nếu không có thì giá trị 1 được sử dụng.
  4. Nếu không có hours/minutes/seconds/ms thì chúng được coi là bằng 0.

Ví dụ:

Có nhiều method trong object Date của JavaScript. Các bạn có thể xem ở bảng dưới đây:

MethodMô tảnow()Trả về giá trị số tương ứng với thời gian hiện tại (số mili giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970 00:00:00 UTC)getFullYear()Lấy năm theo giờ địa phương (local time)getMonth()Lấy tháng, từ 0 đến 11 (local time)getDate()Lấy ngày trong tháng (1–31) (local time)getDay()Lấy ngày trong tuần (0-6) (local time)getHours()Lấy giờ từ 0 đến 23 (local time)getMinutes()Lấy phút từ 0 đến 59 (local time)getUTCDate()Lấy ngày trong tháng (1–31) theo universal timesetFullYear()Đặt năm (local time)setMonth()Đặt tháng (local time)setDate()Đặt ngày trong tháng (local time)setUTCDate()Đặt ngày trong tháng theo universal time

Ví dụ sử dụng Date method:

Autocorrection

Autocorrection là một tính năng rất tiện dụng của object Date. Chúng ta có thể đặt các giá trị nằm ngoài phạm vi và nó sẽ tự động điều chỉnh.

Các thành phần ngày nằm ngoài phạm vi được phân phối tự động.

Giả sử chúng ta cần tăng ngày "28 tháng 2 năm 2020" lên 2 ngày. Nó có thể là "2 tháng 3" hoặc "1 tháng 3" trong trường hợp năm nhuận. Chúng ta không cần quan tâm quá trường hợp này. Chỉ cần thêm 2 ngày, Date sẽ thực hiện phần còn lại 😁:


🎉 Như vậy là chúng ta đã tìm hiểu về Date và Time trong JavaScript. Hi vọng bài viết giúp ích cho các bạn.

Bài viết này giải thích cách định dạng ngày và giờ khi gửi dữ liệu sản phẩm. Bạn gửi ngày và giờ cho các thuộc tính như ngày có hàng [availability_date], ngày giá ưu đãi có hiệu lực [sale_price_effective_date] và ngày hết hạn [expiration_date].

Cách hoạt động

Bạn có thể sử dụng tiêu chuẩn ISO 8601 được giải thích chi tiết hơn trong bài viết này. Tùy theo thuộc tính, bạn sẽ gửi ngày hoặc phạm vi ngày đồng thời có thể thêm giờ cụ thể.

Định dạng một ngày

Thêm ngày ở định dạng sau:

  • YYYY-MM-DD

Ví dụ: để gửi ngày 11 tháng 5 năm 2017, hãy sử dụng:

  • 2017-05-11

Thêm giờ

Cách thêm giờ cụ thể vào ngày của bạn:

  1. Hãy tìm ngày có chữ T
  2. Thêm giờ trong ngày theo định dạng 24 giờ: hh:mm:ss. Ví dụ: 13:00:14
  3. Sau giờ, hãy thêm múi giờ. Ví dụ: đối với UTC-8, hãy sử dụng: -0800

Ví dụ: để gửi Ngày 11 tháng 5 năm 2017 lúc 12:01:59 SA cho múi giờ UTC-8, hãy sử dụng:

  • 2017-05-11T00:01:59-0800

Nếu bạn không thêm giờ, chúng tôi sẽ sử dụng giờ cuối ngày: 23:59:59

Nếu bạn không thêm múi giờ, chúng tôi sẽ sử dụng múi giờ mặc định:

  • Nguồn cấp dữ liệu văn bản và XML sẽ sử dụng múi giờ mặc định cho quốc gia mục tiêu của bạn.
  • API sẽ sử dụng UTC.
Quốc giaMúi giờ mặc định cho nguồn cấp dữ liệu văn bản và XMLÚc+1000Brazil-0300Canada-0500Các quốc gia Trung Âu+0100Nhật Bản+0900Mexico-0600New Zealand+1200Nga+0400Singapore+0800Vương quốc AnhZ hoặc +00:00Hoa Kỳ-0800

Định dạng phạm vi ngày

Một số thuộc tính chấp nhận phạm vi ngày có ngày bắt đầu và ngày kết thúc. Phạm vi ngày là ngày bắt đầu và ngày kết thúc được phân tách bằng dấu gạch chéo ( [sale_price_effective_date]0 ): [sale_price_effective_date]1

Ví dụ:

  • [sale_price_effective_date]2 cho giờ PST
  • [sale_price_effective_date]3 cho Giờ Trung Âu

Nếu bạn không thêm giờ, ngày bắt đầu sẽ sử dụng [sale_price_effective_date]4 và ngày kết thúc sẽ sử dụng [sale_price_effective_date]5.

Ví dụ

Biến thể

Hh:mm:ss là gì

Dữ liệu sản phẩm áo thun Android – Xanh lá cây – Cỡ nhỏThuộc tínhDữ liệu sản phẩmTiêu đề [sale_price_effective_date]6Áo thun Android – Xanh lục – Cỡ nhỏGiá [sale_price_effective_date]7109900 VNDGiá ưu đãi [sale_price_effective_date]899900.00 VNDNgày giá ưu đãi có hiệu lực [sale_price_effective_date][expiration_date]0Màu sắc [expiration_date]1xanh lụcKích thước [expiration_date]2sMã nhận dạng [expiration_date]39876-S-GRNMã nhóm mặt hàng [expiration_date]49876

 

Dữ liệu sản phẩm áo thun Android – Xanh dương – Cỡ nhỏThuộc tínhDữ liệu sản phẩmTiêu đề [sale_price_effective_date]6Áo thun Android – Xanh dương – Cỡ nhỏGiá [sale_price_effective_date]789900 VNDGiá ưu đãi [sale_price_effective_date]859900.00 VNDNgày giá ưu đãi có hiệu lực [sale_price_effective_date][expiration_date]9Màu sắc [expiration_date]1xanh dươngKích thước [expiration_date]2sMã nhận dạng [expiration_date]39876-S-BLUMã nhóm mặt hàng [expiration_date]49876

 

Dữ liệu sản phẩm áo thun Android – Đỏ – Cỡ nhỏThuộc tínhDữ liệu sản phẩmTiêu đề [sale_price_effective_date]6Áo thun Android – Đỏ – Cỡ nhỏGiá [sale_price_effective_date]7105000 VNDGiá ưu đãi [sale_price_effective_date]889900 VNDNgày giá ưu đãi có hiệu lực [sale_price_effective_date]YYYY-MM-DD8Màu sắc [expiration_date]1đỏKích thước [expiration_date]2sMã nhận dạng [expiration_date]39876-S-REDMã nhóm mặt hàng [expiration_date]49876

Sản phẩm có sẵn để đặt hàng trước với ngày phát hành cụ thể

Dữ liệu sản phẩm dành cho thú bông Android SquishableThuộc tínhDữ liệu sản phẩmTình trạng còn hàng 2017-05-1132017-05-114Ngày có hàng [availability_date]2017-05-116

Ngày hết hạn

Hh:mm:ss là gì

Dữ liệu sản phẩm của LederhosenThuộc tínhDữ liệu sản phẩmTiêu đề [sale_price_effective_date]6Lederhosen – nâu – LNgày hết hạn [expiration_date]2017-05-119