Cách lấy định dạng YYYYMMDD của đối tượng Date trong JavaScript?

Đôi khi, bạn có thể muốn lấy định dạng YYYYMMDD của đối tượng Date trong JavaScript. Trong bài viết này,cùng mình tìm hiểu cách định dạng ngày trong JavaScript thành một chuỗi ở định dạng YYYYMMDD.

Date là gì trong Javascript

Date là một đối tượng chuyên dùng để xử lý ngày giờ trong Javascript. Vì nó là ngôn ngữ ở client nên thời gian mà nó lấy được chính là thời gian được thiết lập trên máy của client. Vì vậy, khi lập trình thì bạn không nên lấy thông tin ngày giờ từ Javascript để lưu trữ vào hệ thống mà thay vào đó hãy sử dụng ngôn ngữ phía server.

Sử dụng phương thức chuỗi ngày và chuỗi JavaScript gốc

Một cách để đưa ngày JavaScript vào chuỗi ở định dạng YYYYMMDD là sử dụng các phương thức chuỗi và ngày JavaScript gốc.

Ví dụ, bạn có thể viết:

const date = new Date(2021, 1, 1)
const year = date.getFullYear()
const month = ('0' + (date.getMonth() + 1)).substr(-2)
const day = ('0' + date.getDate()).substr(-2)
const dateStr = [year, month, day].join('')
console.log(dateStr)Code language: JavaScript (javascript)

Bạn tạo một date đối tượng với hàm Date tạo với năm, tháng và ngày.

Giá trị của tháng là từ 0 đến 11, trong đó 0 là tháng 1, 1 cho tháng 2, v.v.

Sau đó, chúng ta có thể nhận được năm, tháng và ngày từ ngày.

Tôi gọi getFullYear để lấy năm 4 chữ số.

Và tôi gọi getMonth để lấy tháng cộng với 1 để lấy một tháng mà con người có thể đọc được.

Sau đó, gắn chuỗi 0 vào trước nó và gọi substr-2 để lấy 2 ký tự cuối cùng của chuỗi.

Và tôi gọi getDate để lấy ngày tháng và định dạng nó theo cùng một cách với substr.

Cuối cùng, tôi tham gia yearmonth và day cùng với join.

Do đó, dateStr là '20210201'.

Date.prototype.toISOString để lấy định dạng YYYYMMDD của đối tượng Date trong JavaScript

Bạn có thể gọi toISOString để lấy chuỗi ngày từ một đối tượng ngày trong JavaScript.

Sau đó, bạn có thể sử dụng các phương thức chuỗi để trích xuất các phần năm, tháng và ngày và xóa dấu gạch ngang khỏi phần đó.

Ví dụ, bạn có thể viết:

const date = new Date(2021, 1, 1)
const dateStr = date.toISOString().slice(0, 10).replace(/-/g, "");
console.log(dateStr)Code language: JavaScript (javascript)

Tôi gọi toISOString để lấy chuỗi ngày ở định dạng ISO8601.

Sau đó, tôi gọi slice với 0 và 10 để trích xuất phần đầu tiên, có năm, tháng và ngày.

Và sau đó tôi gọi replace để thay thế tất cả các dấu gạch ngang bằng các chuỗi trống để loại bỏ chúng.

Do đó, tôi nhận được cùng một kết quả cho dateStr.

Ngoài ra, bạn có thể thay thế slice bằng substring:

const date = new Date(2021, 1, 1)
const dateStr = date.toISOString().substring(0, 10).replace(/-/g, "");
console.log(dateStr)Code language: JavaScript (javascript)

moment.js: định dạng 1 cách dễ dàng

Bạn cũng có thể sử dụng thư viện moment.js để định dạng YYYYMMDD một cách dễ dàng.

Ví dụ, bạn có thể viết:

const date = new Date(2021, 1, 1)
const dateStr = moment(date).format('YYYYMMDD');
console.log(dateStr)Code language: JavaScript (javascript)

Bạn chuyển vào hàm date của chúng tôi để tạo một đối tượng thời điểm trong ngày.

Sau đó, tôi gọi format với chuỗi định dạng để định dạng mục.

Và vì vậy chúng tôi nhận được cùng một giá trị cho dateStr.

Kết luận

Tôi có thể định dạng ngày JavaScript gốc thành một chuỗi với các phương thức chuỗi và ngày JavaScript gốc.

Hoặc bạn có thể sử dụng moment.js để định dạng ngày tháng theo định dạng YYYYMMDD.

Cảm ơn bạn đã theo dõi bài viết!

Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

TỔNG HỢP TÀI LIỆU HỌC LẬP TRÌNH CƠ BẢN CHO NGƯỜI MỚI BẮT ĐẦU

KHOÁ HỌC BOOTCAMP JAVA/JAVASCRIPT/PHP TRỞ THÀNH LẬP TRÌNH VIÊN TRONG 5-6 THÁNG

Leave a Reply

Your email address will not be published. Required fields are marked *