Giới thiệu về Dấu thời gian JavaScript
Làm việc với ngày và giờ là một yêu cầu phổ biến trong phát triển web và JavaScript cung cấp một số cách để xử lý các tác vụ này. Một trong những phương pháp hiệu quả nhất là sử dụng một số đại diện cho ngày và giờ hiện tại, thường được gọi là dấu thời gian Unix.
Hướng dẫn này sẽ hướng dẫn bạn quy trình lấy dấu thời gian trong JavaScript, dấu thời gian này có thể hữu ích cho nhiều ứng dụng khác nhau như ghi nhật ký sự kiện, lập lịch hoặc đơn giản là theo dõi thời gian.
Yêu cầu | Sự miêu tả |
---|---|
Date.now() | Trả về số mili giây kể từ kỷ nguyên Unix (ngày 1 tháng 1 năm 1970). |
Math.floor() | Làm tròn một số xuống số nguyên gần nhất. |
require('moment') | Nhập thư viện 'khoảnh khắc' để thao tác ngày và giờ trong Node.js. |
moment().unix() | Lấy dấu thời gian Unix hiện tại bằng thư viện 'khoảnh khắc'. |
console.log() | Xuất thông báo tới bảng điều khiển web. |
Hiểu tập lệnh dấu thời gian trong JavaScript
Các tập lệnh được cung cấp minh họa cách lấy dấu thời gian Unix trong JavaScript. Tập lệnh phía máy khách sử dụng Date.now() để có được dấu thời gian hiện tại tính bằng mili giây kể từ kỷ nguyên Unix (ngày 1 tháng 1 năm 1970). Giá trị này sau đó được chuyển đổi thành giây bằng cách chia cho 1000 và làm tròn xuống bằng cách sử dụng Math.floor(). Kịch bản cũng bao gồm một chức năng, getCurrentTimestamp(), gói gọn logic này để có thể sử dụng lại. Phương pháp này hiệu quả và được sử dụng rộng rãi trong các ứng dụng front-end để ghi lại các sự kiện hoặc đo lường các khoảng thời gian.
Trong tập lệnh phía máy chủ, chúng tôi sử dụng Node.js cùng với moment thư viện, giúp đơn giản hóa thao tác ngày và giờ. Bằng cách nhập thư viện với require('moment'), chúng ta có thể sử dụng các phương thức của nó để tìm nạp trực tiếp dấu thời gian Unix hiện tại bằng cách sử dụng moment().unix(). Cách tiếp cận này có lợi cho các hoạt động back-end, nơi yêu cầu định dạng và thao tác về thời gian nhất quán. Cả hai tập lệnh đều ghi dấu thời gian vào bảng điều khiển bằng cách sử dụng console.log(), cho thấy cách các phương thức này có thể được sử dụng trong các môi trường JavaScript khác nhau.
Lấy dấu thời gian Unix trong JavaScript
JavaScript phía máy khách
// Get the current timestamp in milliseconds since epoch
const timestamp = Date.now();
console.log(timestamp);
// Get the current timestamp in seconds since epoch
const unixTimestamp = Math.floor(Date.now() / 1000);
console.log(unixTimestamp);
// Function to get the current timestamp
function getCurrentTimestamp() {
return Math.floor(Date.now() / 1000);
}
console.log(getCurrentTimestamp());
Tìm nạp Dấu thời gian hiện tại trong Node.js
JavaScript phía máy chủ với Node.js
// Import the 'moment' library
const moment = require('moment');
// Get the current timestamp using moment
const timestamp = moment().unix();
console.log(timestamp);
// Function to get the current timestamp
function getCurrentTimestamp() {
return moment().unix();
}
console.log(getCurrentTimestamp());
Lấy dấu thời gian Unix trong JavaScript
JavaScript phía máy khách
// Get the current timestamp in milliseconds since epoch
const timestamp = Date.now();
console.log(timestamp);
// Get the current timestamp in seconds since epoch
const unixTimestamp = Math.floor(Date.now() / 1000);
console.log(unixTimestamp);
// Function to get the current timestamp
function getCurrentTimestamp() {
return Math.floor(Date.now() / 1000);
}
console.log(getCurrentTimestamp());
Tìm nạp Dấu thời gian hiện tại trong Node.js
JavaScript phía máy chủ với Node.js
// Import the 'moment' library
const moment = require('moment');
// Get the current timestamp using moment
const timestamp = moment().unix();
console.log(timestamp);
// Function to get the current timestamp
function getCurrentTimestamp() {
return moment().unix();
}
console.log(getCurrentTimestamp());
Làm việc với Dấu thời gian trên các múi giờ
Một khía cạnh quan trọng khác khi làm việc với dấu thời gian trong JavaScript là xử lý các múi giờ khác nhau. Theo mặc định, dấu thời gian Unix ở dạng UTC (Giờ phối hợp quốc tế), nhưng thông thường các nhà phát triển cần chuyển đổi dấu thời gian đó sang múi giờ địa phương. Điều này có thể đạt được bằng cách sử dụng Intl.DateTimeFormat đối tượng, cung cấp cách định dạng ngày và giờ theo một miền địa phương và múi giờ cụ thể.
Ví dụ, bạn có thể sử dụng số 8 để tạo một đối tượng ngày từ dấu thời gian và sau đó định dạng nó bằng cách sử dụng toLocaleString() với các tùy chọn cho múi giờ mong muốn. Phương pháp này hữu ích cho các ứng dụng hiển thị ngày và giờ cho người dùng ở nhiều nơi trên thế giới, đảm bảo thông tin phù hợp với giờ địa phương của họ.
Các câu hỏi thường gặp về Dấu thời gian JavaScript
- Làm cách nào để có được dấu thời gian hiện tại trong JavaScript?
- Bạn có thể dùng Date.now() để có được dấu thời gian hiện tại tính bằng mili giây kể từ ngày 1 tháng 1 năm 1970.
- Làm cách nào để chuyển đổi dấu thời gian thành ngày?
- Sử dụng new Date(timestamp) để tạo một đối tượng ngày từ dấu thời gian.
- Làm cách nào để định dạng ngày trong JavaScript?
- Sử dụng toLocaleString() hoặc Intl.DateTimeFormat để định dạng ngày tháng.
- Dấu thời gian Unix là gì?
- Dấu thời gian Unix là số giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970 (UTC).
- Làm cách nào để có được dấu thời gian tính bằng giây?
- Chia giá trị của Date.now() bằng 1000 và sử dụng Math.floor().
- Tôi có thể lấy dấu thời gian cho một ngày trong tương lai không?
- Có, tạo một đối tượng ngày mới cho ngày và sử dụng trong tương lai getTime() để có được dấu thời gian của nó.
- Làm cách nào để xử lý dấu thời gian ở các múi giờ khác nhau?
- Sử dụng Intl.DateTimeFormat với tùy chọn timeZone để chuyển đổi dấu thời gian sang các múi giờ khác nhau.
- Có thư viện nào trợ giúp thao tác ngày và giờ trong JavaScript không?
- Có, các thư viện như moment.js Và date-fns phổ biến để xử lý các hoạt động ngày và giờ.
- Làm cách nào để cộng hoặc trừ thời gian khỏi dấu thời gian?
- Chuyển đổi dấu thời gian thành đối tượng ngày, thao tác với nó và sau đó chuyển đổi lại thành dấu thời gian bằng cách sử dụng getTime().
Suy nghĩ cuối cùng về Dấu thời gian JavaScript
Tóm lại, việc lấy và thao tác dấu thời gian trong JavaScript là một kỹ năng cơ bản của các nhà phát triển web. sử dụng Date.now() và các thư viện như moment.js cho phép theo dõi và chuyển đổi thời gian chính xác trên các múi giờ khác nhau. Khả năng này rất quan trọng đối với các ứng dụng yêu cầu thời gian và ghi nhật ký chính xác.
Bằng cách hiểu các phương thức và lệnh khác nhau có sẵn, nhà phát triển có thể xử lý các hoạt động ngày và giờ một cách hiệu quả trong cả môi trường phía máy khách và phía máy chủ. Với những công cụ này, việc tạo ra các chức năng dựa trên thời gian mạnh mẽ và đáng tin cậy trở thành một nhiệm vụ đơn giản.