Tôi cung cấp nhiều giải pháp với các mô tả trong câu trả lời này. Hãy đặt câu hỏi nếu có bất cứ điều gì không rõ ràng
Giải pháp nhanh chóng và bẩn thỉu:
Date.now[] /1000 |0
CẢNH BÁO: Nó có thể bị phá vỡ vào năm 2038 và trả về số âm nếu bạn thực hiện phép thuật ____10. Sử dụng
1 thay vào đó vào thời điểm đó: it might break in 2038 and return negative numbers if you do theMath.floor[Date.now[] /1000];
0 magic. UseMath.floor[Date.now[] /1000];
1 instead by that timeMath.floor[Date.now[] /1000];
Giải pháp
1:Math.floor[Date.now[] /1000];
Math.floor[Date.now[] /1000];
Một số thay thế nerdy của Derek được lấy từ các bình luận bên dưới câu trả lời này:
new Date/1e3|0
Polyfill để có được
3 hoạt động:Math.floor[Date.now[] /1000];
Để làm cho nó hoạt động trong IE, bạn có thể làm điều này [polyfill từ MDN]:
if [!Date.now] {
Date.now = function now[] {
return new Date[].getTime[];
};
}
Nếu bạn không quan tâm đến năm / ngày trong tuần / thời gian tiết kiệm ánh sáng ban ngày, bạn cần nhớ điều này vào ngày sau năm 2038:
Các hoạt động bitwise sẽ gây ra việc sử dụng số nguyên 32 bit thay vì 64 điểm nổi.
Bạn sẽ cần sử dụng đúng cách như:
Math.floor[Date.now[] / 1000]
Nếu bạn chỉ muốn biết thời gian tương đối từ điểm khi mã được chạy qua đầu tiên, bạn có thể sử dụng một cái gì đó như thế này:
const relativeTime = [[] => {
const start = Date.now[];
return [] => Date.now[] - start;
}][];
Trong trường hợp bạn đang sử dụng jQuery, bạn có thể sử dụng
4 như được mô tả trong tài liệu của JQuery, điều này làm cho polyfill lỗi thời kể từ khi Math.floor[Date.now[] /1000];
4 trong nội bộ làm điều tương tự: Math.floor[Date.now[] /1000];
6Math.floor[Date.now[] /1000];
Nếu bạn chỉ hài lòng về phiên bản của JQuery, hãy xem xét nâng cao câu trả lời này vì tôi không tìm thấy nó.this answer since I did not find it myself.
Bây giờ một giải thích nhỏ về những gì
0 làm:Math.floor[Date.now[] /1000];
Bằng cách cung cấp
Math.floor[Date.now[] /1000];
8, bạn nói với thông dịch viên thực hiện nhị phân hoặc hoạt động. Các hoạt động bit yêu cầu các số tuyệt đối biến kết quả thập phân từ Math.floor[Date.now[] /1000];
9 thành một số nguyên.Bit operations require absolute numbers which turns the decimal result from
Math.floor[Date.now[] /1000];
9 into an integer.Trong quá trình chuyển đổi đó, số thập phân được loại bỏ, dẫn đến một kết quả tương tự với những gì sử dụng
Math.floor[Date.now[] /1000];
1 sẽ xuất hiện.Mặc dù vậy, được cảnh báo: nó sẽ chuyển đổi gấp đôi 64 bit thành số nguyên 32 bit. Điều này sẽ dẫn đến mất thông tin khi xử lý số lượng lớn. Dấu thời gian sẽ bị hỏng sau năm 2038 do tràn số nguyên 32 bit trừ khi JavaScript di chuyển đến các số nguyên 64 bit ở chế độ nghiêm ngặt. it will convert a 64 bit double to a 32 bit integer.
This will result in information loss when dealing with huge numbers.
Timestamps will break after 2038 due to 32 bit integer overflow unless Javascript moves to 64 Bit Integers in Strict Mode.
Để biết thêm thông tin về
1 theo liên kết này: new Date/1e3|0
3 @ mdnMath.floor[Date.now[] /1000];
Trong JavaScript, dấu thời gian thường được liên kết với thời gian Unix. Và có nhiều phương pháp khác nhau để tạo thời gian như vậy. Khi chúng tôi sử dụng các phương pháp JavaScript khác nhau để tạo dấu thời gian, chúng sẽ trả về số mili giây đã được thông qua kể từ ngày 1 tháng 1 năm 1970 UTC [Thời gian UNIX]. Trong bài viết này, bạn sẽ tìm hiểu cách sử dụng các phương thức sau để tạo dấu thời gian UNIX trong JavaScript: Trong ví dụ trên, chúng tôi đã tạo một đối tượng
3.new Date/1e3|0
3.Math.floor[Date.now[] /1000];
5.new Date/1e3|0
var timestamp = new Date[].getTime[];
console.log[timestamp]
// 1660926192826
6 và lưu trữ nó trong biến new Date/1e3|0
7.new Date/1e3|0
Chúng tôi cũng gắn phương thức
new Date/1e3|0
3 vào đối tượng new Date/1e3|0
6 bằng cách sử dụng ký hiệu DOT: if [!Date.now] {
Date.now = function now[] {
return new Date[].getTime[];
};
}
0. Điều này đã trả lại thời gian UNIX tại thời điểm đó trong mili giây: 1660926192826.Để có được dấu thời gian trong vài giây, bạn chia thời gian hiện tại cho 1000. Đó là:
var timestamp = new Date[].getTime[];
console.log[Math.floor[timestamp / 1000]]
Cách sử dụng Math.floor[Date.now[] /1000];
3 để tạo dấu thời gian trong JS
Math.floor[Date.now[] /1000];
var timestamp = Date.now[];
console.log[timestamp]
// 1660926758875
Trong ví dụ trên, chúng tôi đã có dấu thời gian UNIX tại thời điểm cụ thể đó bằng phương pháp
Math.floor[Date.now[] /1000];
3.Các dấu thời gian bạn thấy trong các ví dụ này sẽ khác với của bạn. Điều này là do bạn sẽ có được dấu thời gian của thời gian đã trôi qua từ ngày 1 tháng 1 năm 1970 UTC cho đến thời điểm hiện tại của bạn.
Cách sử dụng new Date/1e3|0
5 để tạo dấu thời gian trong JS
new Date/1e3|0
var timestamp = new Date[].valueOf[];
console.log[timestamp]
// 1660928777955
Giống như phương thức
new Date/1e3|0
3, chúng ta phải gắn phương thức new Date/1e3|0
5 vào đối tượng new Date/1e3|0
6 để tạo dấu thời gian UNIX.Đối tượng
new Date/1e3|0
6, không có new Date/1e3|0
3 hoặc new Date/1e3|0
5, trả về thông tin về thời gian hiện tại của bạn.Bản tóm tắt
Trong bài viết, chúng tôi đã nói về dấu thời gian trong JavaScript. Thường có liên quan đến thời gian Unix.
Chúng tôi đã thấy ba phương pháp khác nhau có thể được sử dụng để tạo dấu thời gian trong JavaScript với các ví dụ mã.
Mã hóa hạnh phúc!
Học mã miễn phí. Chương trình giảng dạy nguồn mở của Freecodecamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu