Nhận ngày năm ngoái từ ngày hiện tại trong javascript

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 về 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 chú ý 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 sẵn 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 tôi sẽ cần tự thực hiện định dạng, điều mà chúng tôi 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

________số 8_______

Đ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à
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 năm ngoái trong JavaScript?

Ngày JavaScript đặtFullYear() .
ví dụ 1. const d = Ngày mới(); . setFullYear(2020);
ví dụ 2. const d = Ngày mới(); . setFullYear(2020, 10, 3);
ví dụ 3. Đặt ngày thành sáu tháng trước. const d = Ngày mới(); . setFullYear(d. getFullYear(), d. getMonth() - 6);

Làm cách nào để có được ngày đầu tiên và ngày cuối cùng của năm hiện tại trong JavaScript?

Để lấy năm hiện tại, bạn có thể gọi phương thức getFullYear() sẽ trả về năm của Ngày đã chỉ định theo giờ địa phương . Giá trị được trả về là một số tuyệt đối. Đối với các ngày từ 1000 đến 9999 năm, phương thức getFullYear() trả về một số có bốn chữ số.

Làm cách nào để có được ngày bắt đầu và ngày kết thúc của năm ngoái trong JavaScript?

setFullYear(năm ngoái. getFullYear() - 1); . getTime(), end = (Ngày mới(năm ngoái, 11, 31)). getTime();

Làm cách nào để có được năm 1 hiện tại trong JavaScript?

DateObject. getFullYear(); Giá trị trả về. Phương thức lấy năm hiện tại trong JavaScript trả về một số. Con số này đại diện cho năm hiện tại của ngày và giờ địa phương đã cho.