JavaScript lấy ngày từ đâu?

JavaScript là ngôn ngữ lập trình nhẹ được sử dụng cho World Wide Web. Đối tượng JavaScript





Demo: Current Date



01 rất hữu ích để kiểm tra ngày giờ khách truy cập vào trang web của bạn

Hướng dẫn này sẽ hướng dẫn bạn cách sử dụng JavaScript để lấy ngày và giờ hiện tại từ ứng dụng khách

điều kiện tiên quyết

  • Quen thuộc với JavaScript [bao gồm tạo, lưu và chạy tập lệnh]
  • Một trình soạn thảo văn bản để viết kịch bản
  • Truy cập vào trình duyệt để mở tệp HTML

Tạo đối tượng ngày trong JavaScript

Đối tượng JavaScript





Demo: Current Date



02 trợ giúp khi làm việc với ngày tháng. Để tạo một đối tượng mới với ngày và giờ hiện tại, hãy thêm đối tượng vào tập lệnh của bạn





Demo: Current Date



Lưu mã vào một. html và mở bằng trình duyệt của bạn

Đối tượng hiển thị ngày, giờ và múi giờ hiện tại

Dưới đây là các phương pháp để lấy các phần tử ngày và giờ riêng lẻ

Sử dụng phương thức Get để hiển thị ngày hiện tại trong JavaScript

Nếu bạn muốn lấy ngày ở định dạng YYYY-MM-DD, hãy tạo một tài liệu HTML và thêm đoạn mã sau





Demo: Current Date



Dòng thứ hai trong tập lệnh bao gồm các hướng dẫn sau

  • 
    
    
    
    Demo: Current Date
    
    
    
    
    03 – Sử dụng biến hôm nay để hiển thị năm có 4 chữ số
  • 
    
    
    
    Demo: Current Date
    
    
    
    
    04 – Hiển thị tháng số. +1 chuyển đổi tháng từ kỹ thuật số [0-11] sang bình thường
  • 
    
    
    
    Demo: Current Date
    
    
    
    
    05 – Hiển thị số ngày trong tháng

Nếu bạn thích một định dạng khác, chỉ cần thay đổi thứ tự của các lệnh

Ghi chú. Có một dấu gạch ngang giữa mỗi lệnh. Điều này tạo ra một dấu gạch ngang giữa mỗi phân đoạn của ngày

Hiển thị Giờ, Phút và Giây bằng JavaScript

Để hiển thị thời gian trong HH. MM. Định dạng SS, chỉnh sửa tập lệnh của bạn để trông như sau





Demo: Current Date



  • 
    
    
    
    Demo: Current Date
    
    
    
    
    06 – Điều này sử dụng biến hôm nay để hiển thị giờ hiện tại. Cái này sử dụng đồng hồ 24 giờ
  • 
    
    
    
    Demo: Current Date
    
    
    
    
    0 – Hiển thị số phút hiện tại
  • 
    
    
    
    Demo: Current Date
    
    
    
    
    1 – Hiển thị số giây hiện tại

Ghi chú. Có dấu hai chấm giữa mỗi câu lệnh. Điều này đặt một dấu hai chấm giữa mỗi màn hình số để nó đọc giống như một chiếc đồng hồ

Hiển thị đầy đủ ngày và giờ hiện tại trong JavaScript

Kết hợp hai lệnh để hiển thị đầy đủ ngày và giờ trong YYYY-MM-DD và HH. MM. định dạng SS. Chỉnh sửa kịch bản của bạn như sau





Demo: Current Date



Dòng cuối cùng kết hợp hai đoạn mã khác. Điều này hướng dẫn hệ thống hiển thị ngày đầy đủ bên cạnh toàn thời gian

Phần kết luận

Bây giờ bạn có thể viết một đoạn JavaScript đơn giản để truy xuất ngày giờ hiện tại. Điều này có thể hữu ích để tạo dấu thời gian, bằng cách liên kết tập lệnh này với một hành động và ghi nó vào tệp nhật ký

Thao tác ngày giờ nổi tiếng là khó. Các nhà phát triển gặp phải quy tắc múi giờ, giây nhảy vọt, sự khác biệt về định dạng dành riêng cho ngôn ngữ nên sử dụng các thư viện thao tác ngày và giờ phổ biến. Nhưng không cần suy nghĩ về cách chúng hoạt động chính xác, vẫn dễ dàng tạo ra đủ loại lỗi khó hiểu

Qua

Trừng phạt Jajodia

Punit là một kỹ sư phần mềm và doanh nhân đa năng. Anh ấy đã làm việc về dữ liệu lớn và mô phỏng 3D thời gian thực và là một chuyên gia về MEAN stack

CHIA SẺ

CHIA SẺ

Là một nhà phát triển phần mềm, bạn không thể thoát khỏi việc thao túng ngày tháng. Hầu hết mọi ứng dụng mà nhà phát triển xây dựng sẽ có một số thành phần mà ngày/giờ cần được lấy từ người dùng, được lưu trữ trong cơ sở dữ liệu và hiển thị lại cho người dùng

Hỏi bất kỳ lập trình viên nào về kinh nghiệm xử lý ngày và múi giờ của họ và họ có thể sẽ chia sẻ một số câu chuyện chiến tranh. Xử lý các trường ngày và giờ chắc chắn không phải là khoa học tên lửa nhưng thường có thể tẻ nhạt và dễ bị lỗi

Có hàng trăm bài viết về chủ đề này, tuy nhiên, hầu hết đều quá hàn lâm, tập trung vào các chi tiết nhỏ nhặt hoặc chúng quá chắp vá, cung cấp các đoạn mã ngắn mà không có nhiều giải thích kèm theo. Hướng dẫn chuyên sâu về thao tác DateTime này sẽ giúp bạn hiểu các khái niệm lập trình và các phương pháp hay nhất liên quan đến thời gian và ngày tháng mà không cần phải duyệt qua một biển thông tin về chủ đề này

Trong bài viết này, tôi sẽ giúp bạn suy nghĩ rõ ràng về các trường ngày và giờ, đồng thời đề xuất một số phương pháp hay nhất có thể giúp bạn tránh được địa ngục ngày/giờ. Ở đây chúng ta sẽ khám phá một số khái niệm chính cần thiết để thao tác chính xác các giá trị ngày và giờ, các định dạng thuận tiện cho việc lưu trữ các giá trị DateTime và chuyển chúng qua API, v.v.

Đối với những người mới bắt đầu, câu trả lời đúng cho mã sản xuất hầu như luôn là sử dụng một thư viện phù hợp thay vì tạo mã của riêng bạn. Những khó khăn tiềm ẩn với phép tính DateTime được thảo luận trong bài viết này chỉ là phần nổi của tảng băng trôi, nhưng chúng vẫn hữu ích khi biết về việc có hoặc không có thư viện

Thư viện DateTime Trợ giúp nếu bạn hiểu đúng về chúng

Thư viện ngày giúp theo nhiều cách để làm cho cuộc sống của bạn dễ dàng hơn. Chúng đơn giản hóa rất nhiều việc phân tích ngày tháng, các phép toán logic và số học ngày tháng cũng như định dạng ngày tháng. Bạn có thể tìm thấy một thư viện ngày đáng tin cậy cho cả giao diện người dùng và giao diện người dùng để thực hiện hầu hết các công việc nặng nhọc cho bạn

Tuy nhiên, chúng ta thường sử dụng thư viện ngày tháng mà không suy nghĩ về cách thức hoạt động của ngày/giờ. Ngày/giờ là một khái niệm phức tạp. Các lỗi phát sinh do hiểu sai về nó có thể cực kỳ khó hiểu và khó khắc phục, ngay cả khi có sự trợ giúp của thư viện ngày tháng. Là một lập trình viên, bạn cần hiểu những kiến ​​thức cơ bản và có thể đánh giá đúng các vấn đề mà thư viện ngày tháng giải quyết để tận dụng tối đa chúng

Ngoài ra, thư viện ngày/giờ chỉ có thể đưa bạn đến nay. Tất cả các thư viện ngày hoạt động bằng cách cấp cho bạn quyền truy cập vào các cấu trúc dữ liệu thuận tiện để biểu thị Ngày giờ. Nếu bạn đang gửi và nhận dữ liệu thông qua API REST, cuối cùng bạn sẽ cần chuyển đổi ngày thành chuỗi và ngược lại vì JSON không có cấu trúc dữ liệu riêng để biểu thị DateTime. Các khái niệm mà tôi đã phác thảo ở đây sẽ giúp bạn tránh được một số vấn đề phổ biến có thể xảy ra khi thực hiện các chuyển đổi từ ngày này sang chuỗi khác và từ chuỗi này sang ngày khác

Ghi chú. Mặc dù tôi đã sử dụng JavaScript làm ngôn ngữ lập trình được thảo luận trong bài viết này, nhưng đây là những khái niệm chung được áp dụng ở mức độ lớn cho hầu như tất cả các ngôn ngữ lập trình và thư viện ngày tháng của chúng. Vì vậy, ngay cả khi bạn chưa từng viết một dòng JavaScript nào trước đây, hãy tiếp tục đọc vì tôi hầu như không cho rằng có bất kỳ kiến ​​thức nào về JavaScript trước đó trong bài viết

Chuẩn hóa thời gian

DateTime là một thời điểm rất cụ thể. Hãy nghĩ về điều này. Khi tôi viết nguệch ngoạc bài viết này, đồng hồ trên máy tính xách tay của tôi hiển thị ngày 21 tháng 7 1. 29 giờ tối. Đây là cái mà chúng tôi gọi là “giờ địa phương”, thời gian mà tôi nhìn thấy trên đồng hồ treo tường xung quanh mình và trên đồng hồ đeo tay của tôi

Cho hoặc mất vài phút, nếu tôi hẹn bạn tôi ở một quán cà phê gần đó lúc 3 giờ. 00 PM, tôi có thể mong gặp cô ấy ở đó vào khoảng thời gian đó. Tương tự như vậy, sẽ không có bất kỳ sự nhầm lẫn nào nếu thay vào đó tôi nói, chẳng hạn như “hãy gặp nhau sau một tiếng rưỡi nữa. ” Chúng tôi thường nói về thời gian theo cách này với những người sống trong cùng thành phố hoặc múi giờ

Hãy nghĩ về một kịch bản khác. Tôi muốn nói với một người bạn sống ở Uppsala, Thụy Điển rằng tôi muốn nói chuyện với anh ấy lúc 5 giờ chiều. Tôi gửi cho anh ấy một tin nhắn, “Này Anton, hãy nói chuyện lúc 5 giờ chiều. ” Tôi ngay lập tức nhận được câu trả lời, “Thời gian của bạn hay thời gian của tôi?”

Anton nói với tôi rằng anh ấy sống ở múi giờ Trung Âu là UTC+01. 00. Tôi sống ở UTC+05. 45. Điều này có nghĩa là khi ở nơi tôi sống là 5 giờ chiều thì đó là 5 giờ chiều - 05. 45 = 11. 15 AM UTC, có nghĩa là 11. 15 giờ sáng UTC + 01. 00 = 12. 15 giờ chiều ở Uppsala, hoàn hảo cho cả hai chúng tôi

Ngoài ra, hãy lưu ý về sự khác biệt giữa múi giờ [Giờ Trung Âu] và độ lệch múi giờ [UTC+05. 45]. Các quốc gia cũng có thể quyết định thay đổi độ lệch múi giờ của họ đối với Giờ tiết kiệm ánh sáng ban ngày vì lý do chính trị. Hầu như mỗi năm đều có sự thay đổi đối với các quy tắc ở ít nhất một quốc gia, nghĩa là bất kỳ mã nào có các quy tắc này đều phải được cập nhật—bạn nên xem xét cơ sở mã của mình phụ thuộc vào điều này cho từng cấp ứng dụng của bạn

Đó là một lý do chính đáng khác mà chúng tôi khuyên rằng chỉ giao diện người dùng mới xử lý các múi giờ trong hầu hết các trường hợp. Khi không, điều gì sẽ xảy ra khi các quy tắc mà công cụ cơ sở dữ liệu của bạn sử dụng không khớp với các quy tắc của mặt trước hoặc mặt sau của bạn?

Vấn đề quản lý hai phiên bản thời gian khác nhau, liên quan đến người dùng và liên quan đến tiêu chuẩn được chấp nhận rộng rãi, rất khó, thậm chí còn khó hơn trong thế giới lập trình nơi độ chính xác là chìa khóa và thậm chí một giây cũng có thể tạo ra sự khác biệt lớn. Bước đầu tiên để giải quyết những vấn đề này là lưu trữ DateTime theo UTC

Chuẩn hóa định dạng

Chuẩn hóa thời gian thật tuyệt vời vì tôi chỉ cần lưu trữ thời gian UTC và miễn là tôi biết múi giờ của người dùng, tôi luôn có thể chuyển đổi sang thời gian của họ. Ngược lại, nếu tôi biết giờ địa phương của người dùng và biết múi giờ của họ, tôi có thể chuyển đổi giờ đó thành UTC

Nhưng ngày và giờ có thể được chỉ định ở nhiều định dạng khác nhau. Đối với ngày, bạn có thể viết “Jul 30th” hoặc “30 July” hoặc “7/30” [hoặc 30/7, tùy thuộc vào nơi bạn sống]. Tạm thời, bạn có thể viết “9. 30 giờ tối” hoặc “21 giờ 30”

Các nhà khoa học trên toàn thế giới đã cùng nhau giải quyết vấn đề này và quyết định một định dạng để mô tả thời gian mà các lập trình viên thực sự thích vì nó ngắn và chính xác. Chúng tôi muốn gọi nó là “Định dạng ngày ISO”, đây là phiên bản đơn giản hóa của định dạng mở rộng ISO-8601 và nó trông như thế này

Cho 00. 00 hoặc UTC, thay vào đó, chúng tôi sử dụng “Z”, có nghĩa là giờ Zulu, một tên gọi khác của UTC

Thao tác ngày tháng và số học trong JavaScript

Trước khi bắt đầu với các phương pháp hay nhất, chúng ta sẽ tìm hiểu về thao tác ngày tháng bằng JavaScript để nắm bắt cú pháp và các khái niệm chung. Mặc dù chúng tôi sử dụng JavaScript, nhưng bạn có thể dễ dàng điều chỉnh thông tin này sang ngôn ngữ lập trình yêu thích của mình

Chúng tôi sẽ sử dụng số học ngày tháng để giải quyết các vấn đề phổ biến liên quan đến ngày tháng mà hầu hết các nhà phát triển đều gặp phải

Mục tiêu của tôi là giúp bạn thoải mái tạo đối tượng ngày tháng từ một chuỗi và trích xuất các thành phần từ một chuỗi. Đây là điều mà thư viện ngày tháng có thể giúp bạn, nhưng tốt hơn hết bạn nên hiểu cách nó được thực hiện đằng sau hậu trường

Khi chúng ta đã hiểu rõ về ngày/giờ, thì sẽ dễ dàng hơn để suy nghĩ về các vấn đề mà chúng ta gặp phải, rút ​​ra các phương pháp hay nhất và tiến lên phía trước. Nếu bạn muốn bỏ qua các phương pháp hay nhất, vui lòng làm như vậy, nhưng tôi thực sự khuyên bạn ít nhất nên đọc lướt qua phần số học ngày tháng bên dưới

Đối tượng ngày JavaScript

Ngôn ngữ lập trình chứa các cấu trúc hữu ích giúp cuộc sống của chúng ta dễ dàng hơn. Đối tượng JavaScript

const date = new Date[2016, 6, 27, 13, 30, 0];
9 là một thứ như vậy. Nó cung cấp các phương thức thuận tiện để lấy ngày và giờ hiện tại, lưu trữ ngày trong một biến, thực hiện phép tính ngày và định dạng ngày dựa trên ngôn ngữ của người dùng

Do sự khác biệt giữa việc triển khai trình duyệt và việc xử lý Giờ tiết kiệm ánh sáng ban ngày [DST] không chính xác, việc tùy thuộc vào đối tượng Ngày cho các ứng dụng quan trọng không được khuyến nghị và có lẽ bạn nên sử dụng thư viện DateTime như. [Dù bạn sử dụng cái gì, hãy tránh Khoảnh khắc nổi tiếng một thời. js—thường được gọi đơn giản là

const date = new Date["2016-07-27T07:45:00Z"];
0, như nó xuất hiện trong mã—vì nó hiện không được dùng nữa. ]

Nhưng với mục đích giáo dục, chúng ta sẽ sử dụng các phương thức mà đối tượng Date[] cung cấp để tìm hiểu cách JavaScript xử lý DateTime

Nhận ngày hiện tại

________số 8

Nếu bạn không truyền bất cứ thứ gì vào hàm tạo Ngày, đối tượng ngày được trả về chứa ngày và giờ hiện tại

Sau đó, bạn có thể định dạng nó để chỉ trích xuất phần ngày tháng như sau

const currentDate = new Date[];

const currentDayOfMonth = currentDate.getDate[];
const currentMonth = currentDate.getMonth[]; // Be careful! January is 0, not 1
const currentYear = currentDate.getFullYear[];

const dateString = currentDayOfMonth + "-" + [currentMonth + 1] + "-" + currentYear;
// "27-11-2020"

Ghi chú. Cạm bẫy “Tháng Giêng là 0” phổ biến nhưng không phổ biến. Cần kiểm tra kỹ tài liệu của bất kỳ ngôn ngữ nào [hoặc định dạng cấu hình. e. g. , cron đáng chú ý là dựa trên 1] trước khi bạn bắt đầu sử dụng nó

Lấy dấu thời gian hiện tại

Thay vào đó, nếu bạn muốn lấy dấu thời gian hiện tại, bạn có thể tạo một đối tượng Date mới và sử dụng phương thức getTime[]





Demo: Current Date



0

Trong JavaScript, dấu thời gian là số mili giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970

Nếu bạn không có ý định hỗ trợ

Chủ Đề