Làm cách nào để có được ngày hôm nay trong JavaScript?

Phương thức tĩnh Date.now[] trả về số mili giây đã trôi qua kể từ , được định nghĩa là nửa đêm vào đầu ngày 1 tháng 1 năm 1970, UTC

Date.now[]

Một số đại diện cho số mili giây đã trôi qua kể từ , được định nghĩa là nửa đêm vào đầu ngày 1 tháng 1 năm 1970, UTC

Để cung cấp khả năng bảo vệ chống lại các cuộc tấn công theo thời gian và dấu vân tay, độ chính xác của Date.now[] có thể được làm tròn tùy thuộc vào cài đặt trình duyệt. Trong Firefox, tùy chọn privacy.reduceTimerPrecision được bật theo mặc định và mặc định là 20µs trong Firefox 59;

// reduced time precision [2ms] in Firefox 60
Date.now[];
// 1519211809934
// 1519211810362
// 1519211811670
// …

// reduced time precision with `privacy.resistFingerprinting` enabled
Date.now[];
// 1519129853500
// 1519129858900
// 1519129864400
// …

Trong Firefox, bạn cũng có thể bật privacy.resistFingerprinting, độ chính xác sẽ là 100 mili giây hoặc giá trị của privacy.resistFingerprinting.reduceTimerPrecision.microseconds, tùy theo giá trị nào lớn hơn

ví dụ

Lấy ngày trong tháng

const d = Ngày mới[];
để ngày = d. hẹn gặp[];

Tự mình thử »

Nhận ngày của một ngày cụ thể

const d = new Date["21 tháng 7 năm 1983 01. 15. 00"];
để ngày = d. hẹn gặp[];

Tự mình thử »

Định nghĩa và cách sử dụng

Phương thức getDate[] trả về ngày trong tháng [1 đến 31] của một ngày

cú pháp

Thông số

Giá trị trả về

LoạiMô tảMột sốNgày trong tháng [1 đến 31]

Hỗ trợ trình duyệt

getDate[] là một tính năng ECMAScript1 [ES1]

ES1 [JavaScript 1997] được hỗ trợ đầy đủ trên mọi trình duyệt

ChromeEdgeFirefoxSafariOperaIECóCóCóCóCóCó

Chỉ định một tháng cao hơn 11, sẽ không dẫn đến lỗi nhưng thêm tràn vào năm tiếp theo

Chỉ định một ngày cao hơn tối đa, sẽ không dẫn đến lỗi nhưng cộng dồn sang tháng tiếp theo

chỉ định

const d = ngày mới[2018, 5, 35, 10, 33, 30];

giống như

const d = ngày mới[2018, 6, 5, 10, 33, 30];

Tự mình thử »

Sử dụng 6, 4, 3 hoặc 2 số

6 số chỉ định năm, tháng, ngày, giờ, phút, giây

5 số xác định năm, tháng, ngày, giờ và phút

4 số chỉ rõ năm, tháng, ngày, giờ

3 số chỉ rõ năm, tháng, ngày

2 số chỉ định năm và tháng

Bạn không thể bỏ qua tháng. Nếu bạn chỉ cung cấp một tham số, nó sẽ được coi là mili giây

thế kỷ trước

Năm một và hai chữ số sẽ được hiểu là 19xx

JavaScript lưu trữ ngày dưới dạng mili giây

JavaScript lưu trữ ngày tháng dưới dạng số mili giây kể từ ngày 01 tháng 1 năm 1970

Giờ không là ngày 01 tháng 1 năm 1970 00. 00. 00 UTC

Một ngày [24 giờ] là 86 400 000 mili giây

Bây giờ là lúc. mili giây trước ngày 01 tháng 1 năm 1970

Ngày mới [mili giây]

new Date[milliseconds] tạo một đối tượng ngày mới dưới dạng mili giây cộng với thời gian bằng không

ví dụ

Ngày 01 tháng 1 năm 1970 cộng với 100 000 000 000 mili giây là

const d = Ngày mới [100000000000];

Tự mình thử »

Ngày 01 tháng 1 năm 1970 trừ 100 000 000 000 mili giây bằng

const d = Ngày mới[-100000000000];

Tự mình thử »

Ngày 01 tháng 1 năm 1970 cộng thêm 24 giờ là

const d = ngày mới[24 * 60 * 60 * 1000];
// hoặc là
const d = Ngày mới [86400000];

Tự mình thử »

01 tháng 1 năm 1970 cộng với 0 mili giây là

Tự mình thử »

phương pháp ngày

Khi một đối tượng ngày được tạo, một số phương thức cho phép bạn thao tác trên nó

Các phương thức ngày cho phép bạn lấy và đặt năm, tháng, ngày, giờ, phút, giây và mili giây của các đối tượng ngày, sử dụng giờ địa phương hoặc giờ UTC [phổ quát hoặc GMT]

Phương pháp ngày và múi giờ được đề cập trong các chương tiếp theo

hiển thị ngày

JavaScript sẽ [theo mặc định] xuất ngày ở định dạng chuỗi văn bản đầy đủ

Khi bạn hiển thị một đối tượng ngày tháng trong HTML, nó sẽ tự động được chuyển đổi thành một chuỗi, với phương thức toString[]

Cho dù bạn đang tạo ứng dụng thói quen hàng ngày, blog của riêng bạn hay hầu hết các loại ứng dụng web động khác, có thể bạn sẽ cần phải làm việc với ngày tháng. Trong bài viết này, chúng ta sẽ tìm hiểu cách lấy ngày hiện tại trong JavaScript, để bạn có thể phát triển thành công các ứng dụng của mình. Trong JavaScript, có rất nhiều tùy chọn để lựa chọn, nhưng lớp chính đang được sử dụng là

21.5.2021. // string interpolation
21.5.2021. // string concatenation
5. Nó có rất nhiều phương thức và cách bạn sử dụng nó sẽ phụ thuộc vào định dạng của ngày bạn muốn lấy. Sau đó, tôi sẽ chỉ cho bạn một thư viện JavaScript phổ biến có thể được sử dụng để định dạng thời gian nói chung chứ không chỉ ngày tháng

21.5.2021. // string interpolation
21.5.2021. // string concatenation
5 là một lớp học JavaScript khi nói về thời gian. Có một số cách để lấy thời gian và ngày tháng một cách chi tiết từ lớp này

Sử dụng các phương thức getDate[], getMonth[] và getFullYear[]

Lưu ý cho phương thức getDate. Điều đầu tiên cần lưu ý khi sử dụng phương pháp này là chúng tôi sử dụng

21.5.2021. // string interpolation
21.5.2021. // string concatenation
7 chứ không phải
21.5.2021. // string interpolation
21.5.2021. // string concatenation
8. Lý do là phương thức
21.5.2021. // string interpolation
21.5.2021. // string concatenation
8 trả về ngày trong tuần, vì vậy vì bây giờ là thứ Sáu khi tôi đang viết, phương thức
21.5.2021. // string interpolation
21.5.2021. // string concatenation
8 sẽ trả về 5. Phương thức
21.5.2021. // string interpolation
21.5.2021. // string concatenation
7 thực sự làm những gì chúng ta cần trong trường hợp này, nó trả về số ngày của tháng. Vì vậy, đối với tôi, ngay bây giờ ngày của tháng là 21 [vì đó là 21. 05. 2021. ]. Những phương pháp này rất dễ bị nhầm lẫn, vì vậy tôi muốn cảnh báo

Lưu ý cho phương thức getMonth. Một điều khác cần chú ý là chỉ số tháng bắt đầu từ 0, vì vậy tháng 1 là 0, tháng 2 là 1, v.v. Về cơ bản, khi lấy số tháng, chúng ta cần thêm 1

Bây giờ chúng ta đã giải quyết được các vấn đề tiềm ẩn, hãy viết mã

let date = new Date[]
let day = date.getDate[];
let month = date.getMonth[]+1;
let year = date.getFullYear[];

let fullDate = `${day}.${month}.${year}.`;
console.log[fullDate];

Lúc đầu, chúng tôi ví dụ lớp

let month = String[date.getMonth[]+1].padStart[2, "0"];
2 và đối với mỗi phần của ngày, chúng tôi sử dụng một biến để tách nó ra và kiểm tra từng phần.

Chúng tôi đã đặt mỗi kết quả của phương thức vào một biến riêng biệt và sau đó sử dụng phép nội suy chuỗi để tạo ra một ngày hoàn chỉnh. Nội suy chuỗi là khi chúng ta truyền các biến vào chuỗi; . Nếu bạn không thích phép nội suy chuỗi, thì cách khác là chỉ cần nối [thêm] các chuỗi lại với nhau như thế này

let fullDate = day + "." + month + "." + year + ".";

Kết quả của chúng tôi sẽ giống nhau trong từng trường hợp

21.5.2021. // string interpolation
21.5.2021. // string concatenation

Giả sử bạn muốn hiển thị tháng là

let month = String[date.getMonth[]+1].padStart[2, "0"];
4 chứ không phải
let month = String[date.getMonth[]+1].padStart[2, "0"];
5. Thật không may, lớp
let month = String[date.getMonth[]+1].padStart[2, "0"];
2 tích hợp của JavaScript không có nhiều tùy chọn để định dạng ngày thành chuỗi như các thư viện khác. Vì vậy, trong trường hợp này, chúng ta sẽ cần tự định dạng, điều mà chúng ta có thể thực hiện với một số phương thức của JavaScript trên chuỗi, chẳng hạn như
let month = String[date.getMonth[]+1].padStart[2, "0"];
7. Nó làm gì nó 'đệm' [đặt trước] chuỗi của chúng ta bằng
let month = String[date.getMonth[]+1].padStart[2, "0"];
8, cho đến khi nó chạm tới
let month = String[date.getMonth[]+1].padStart[2, "0"];
9. Vì vậy, vì chúng tôi muốn tạo
let month = String[date.getMonth[]+1].padStart[2, "0"];
4 từ
let month = String[date.getMonth[]+1].padStart[2, "0"];
5, chúng tôi muốn đệm chuỗi của mình bằng "0" cho đến khi nó đạt đến độ dài 2. Trước tất cả những điều đó, chúng ta cần truyền
21.05.2021.
2 để gõ
21.05.2021.
3. Truyền đang thay đổi rõ ràng loại biến từ biến này sang biến khác. Ở đây chúng tôi thay đổi loại
21.05.2021.
4 thành loại
21.05.2021.
3. Biến
21.05.2021.
6 của chúng ta sẽ thay đổi thành

let month = String[date.getMonth[]+1].padStart[2, "0"];

Điều này sẽ thay đổi định dạng ngày của chúng tôi để

21.05.2021.

Sử dụng Phương thức toJSON[]

Phương pháp trước để lại khoảng trống cho định dạng ngày tháng; . Khi sử dụng

let date = new Date[].toJSON[];
console.log[date];
0, nó trả về định dạng
let date = new Date[].toJSON[];
console.log[date];
1 cùng với định dạng thời gian,
let date = new Date[].toJSON[];
console.log[date];
2

Hãy xem trước phương pháp này

let date = new Date[].toJSON[];
console.log[date];

Điều này sẽ xuất ra

2021-05-21T13:42:07.553Z

Bạn sẽ thấy một đầu ra tương tự như thế này, nhưng rõ ràng đầu ra của bạn sẽ khác tùy thuộc vào thời điểm bạn chạy mã. Chúng tôi thấy rằng chúng tôi chỉ cần ngày, đó là 10 ký tự đầu tiên, vì vậy hãy sử dụng phương thức

let date = new Date[].toJSON[];
console.log[date];
3 của JavaScript. Phương pháp
let date = new Date[].toJSON[];
console.log[date];
4 cắt một chuỗi từ điểm
let date = new Date[].toJSON[];
console.log[date];
5 đến điểm
let date = new Date[].toJSON[];
console.log[date];
6; . Hãy thử nó

let date = new Date[].toJSON[].slice[0, 10];

Điều này sẽ trở lại

2021-05-21

Chúng ta có thể cắt thêm chuỗi này, vì vậy chúng ta có thể sắp xếp các phần thành các biến

let date = new Date[].toJSON[];
console.log[date];
7 và
let date = new Date[].toJSON[];
console.log[date];
8, nhưng sẽ làm quá sức, vì vậy nếu bạn cần một định dạng khác, chỉ cần sử dụng một cách tiếp cận khác

Sử dụng các phương thức toISOString[],_ toUTCString[]_, và toLocaleDateString[]

Sự thật thú vị.

let date = new Date[].toJSON[];
console.log[date];
9 trả về kết quả chính xác giống như
let date = new Date[].toJSON[];
console.log[date];
0, vì vậy chúng tôi sẽ bỏ qua nó và đi thẳng vào
2021-05-21T13:42:07.553Z
1

Sử dụng toUTCString[]
let date = new Date[].toUTCString[];
console.log[date];

Sẽ cung cấp cho chúng tôi đầu ra

let fullDate = day + "." + month + "." + year + ".";
0

Định dạng này cũng trả về ngày và giờ, với việc bổ sung ngày trong tuần. Như tôi đã nói trong phần

let date = new Date[].toJSON[];
console.log[date];
0, bạn có thể phân tích kết quả này sâu hơn, nhưng có lẽ sẽ không cần thiết vì bạn có các cách tiếp cận khác nhau. Vì chúng tôi chỉ nhận được ngày, chúng tôi có thể cắt phần này. Bây giờ không cần truyền, vì đây đã là một
21.05.2021.
3

Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó

let fullDate = day + "." + month + "." + year + ".";
1

Điều này sẽ cung cấp cho chúng tôi đầu ra mong muốn

let fullDate = day + "." + month + "." + year + ".";
2

Phương thức này trả về ngày ở định dạng tương ứng với ngôn ngữ hệ thống của bạn. Nó thậm chí còn có tùy chọn để chuyển ngôn ngữ mong muốn làm đối số và thậm chí cả các tùy chọn định dạng ngày đơn giản như

2021-05-21T13:42:07.553Z
4,
21.05.2021.
6,
2021-05-21T13:42:07.553Z
6, v.v. Chúng tôi sẽ chia điều này thành 3 ví dụ

  1. tùy chọn mặc định

    Hãy xem điều gì sẽ xảy ra khi chúng ta gọi phương thức mà không có bất kỳ đối số nào

    let fullDate = day + "." + month + "." + year + ".";
    
    3

    Đầu ra, đối với tôi, sẽ là

    let fullDate = day + "." + month + "." + year + ".";
    
    4

    Đầu ra này phụ thuộc vào ngôn ngữ của bạn, của tôi là Hoa Kỳ nên định dạng sẽ là định dạng ngày của Hoa Kỳ

  2. Chỉ chuyển tùy chọn ngôn ngữ

    Nếu bạn muốn xác định một ngôn ngữ cụ thể, bạn có thể chuyển nó dưới dạng đối số chuỗi, như vậy

    let fullDate = day + "." + month + "." + year + ".";
    
    5

    2021-05-21T13:42:07.553Z
    
    7 là mã địa phương của Pháp. Bạn có thể tìm thấy tất cả các mã ngôn ngữ ở đây

    Định dạng ngày của Pháp là

    21.05.2021.
    
    7, vì vậy đầu ra sẽ là

    let fullDate = day + "." + month + "." + year + ".";
    
    6
  3. Vượt qua cả tùy chọn và tùy chọn ngôn ngữ

    Cuối cùng, hãy đi qua các tùy chọn có thể. Chỉ tháng và ngày trong tuần mới có thể có giá trị "dài" hoặc "số". Ngày và năm chỉ có thể là "số"

let fullDate = day + "." + month + "." + year + ".";
7

Chúng tôi sẽ loại trừ

2021-05-21T13:42:07.553Z
4 vì chúng tôi chỉ cần ngày. Điều này sẽ xuất ra

let fullDate = day + "." + month + "." + year + ".";
8

Bây giờ bạn cũng đã học được một chút tiếng Pháp

Đang sử dụng[]

Phương thức

let date = new Date[].toJSON[].slice[0, 10];
0 trả về số mili giây được truyền từ ngày 1 tháng 1 năm 1970 - là thời điểm bắt đầu kỷ nguyên Unix trong lập trình. Nếu chúng tôi chuyển số mili giây cho hàm tạo
let month = String[date.getMonth[]+1].padStart[2, "0"];
2, chúng tôi có thể nhận được ngày định dạng ISO. Hãy thử nó

let fullDate = day + "." + month + "." + year + ".";
9

Cái nào sẽ xuất ra, một lần nữa, cho tôi

21.5.2021. // string interpolation
21.5.2021. // string concatenation
0

Bây giờ nếu chúng ta chuyển

let date = new Date[].toJSON[].slice[0, 10];
2 đó cho hàm tạo, như đã đề cập ở trên, chúng ta có thể tạo một đối tượng ngày tháng với thời gian đó

21.5.2021. // string interpolation
21.5.2021. // string concatenation
1

Điều này sẽ xuất ra

21.5.2021. // string interpolation
21.5.2021. // string concatenation
2

Và chúng tôi đã biết cách xử lý việc này, sử dụng

let date = new Date[].toJSON[];
console.log[date];
3

Thời điểm sử dụng. js

Đây chỉ là một giải pháp thay thế cho việc sử dụng tất cả các phương thức trước đó, một thư viện được tạo riêng cho ngày và giờ trong JavaScript. Bạn có thể truy cập trang web của họ tại đây. Mặc dù thư viện này có khá nhiều tính năng, nhưng tôi sẽ chỉ giới thiệu cách tạo và thực hiện định dạng đơn giản cho ngày tháng. Hãy xem nó hoạt động như thế nào

21.5.2021. // string interpolation
21.5.2021. // string concatenation
3

Nếu bạn không chuyển bất kỳ thứ gì sang định dạng, bạn sẽ nhận được bản trình bày ISO của ngày, tuy nhiên, bạn có thể chọn bất kỳ định dạng nào bạn muốn [và định dạng này được xác định trong tài liệu của Moment]

Đoạn mã trên sẽ xuất ra

21.5.2021. // string interpolation
21.5.2021. // string concatenation
4

Tùy chọn này không phải là tốt nhất nếu tất cả những gì bạn đang tìm kiếm là truy xuất ngày hiện tại. Điều này là do thư viện Moment khá lớn và sẽ làm phình to mã JS của bạn khi được sử dụng trong các ứng dụng giao diện người dùng. Mặt khác, nếu bạn cần thao tác ngày giờ hoặc định dạng nâng cao hơn, thì đây là một thư viện tuyệt vời

Phần kết luận

Có rất nhiều cách để truy xuất ngày tháng trong JavaScript, bạn chỉ cần chọn một cách phù hợp với trường hợp sử dụng của mình. Đối với những nhu cầu rất đơn giản, như tạo ngày tháng hoặc định dạng rất đơn giản, thì bạn có thể sử dụng lớp

let month = String[date.getMonth[]+1].padStart[2, "0"];
2 tích hợp sẵn. Nếu bạn cần thứ gì đó phức tạp hơn một chút với ngày giờ, khoảnh khắc. js là một thư viện để lựa chọn

Làm cách nào để có được ngày hôm nay trong JavaScript mà không cần thời gian?

setHours[0,0,0,0] là đủ.

Làm cách nào tôi có thể lấy dữ liệu ngày hiện tại?

Hàm GETDATE[] trả về ngày và giờ của hệ thống cơ sở dữ liệu hiện tại, theo định dạng 'YYYY-MM-DD hh. mm. ss. định dạng mmm'.

Làm cách nào để hiển thị ngày trong JavaScript?

Sử dụng phương thức Get để hiển thị ngày hiện tại trong JavaScript .
getFullYear[] – Sử dụng biến hôm nay để hiển thị năm có 4 chữ số
getMonth[]+1 – Hiển thị tháng dạng số. +1 chuyển đổi tháng từ kỹ thuật số [0-11] sang bình thường
getDate[] – Hiển thị ngày trong tháng

ngày bây giờ [] tạo ra cái gì?

Ngày. now[] phương thức tĩnh trả về số mili giây đã trôi qua kể từ kỷ nguyên , được định nghĩa là nửa đêm vào đầu ngày 1 tháng 1 năm 1970, UTC.

Chủ Đề