Tôi đang cố gắng có được sự khác biệt giữa hai ngày tính bằng giây. Logic sẽ như thế này:
- Đặt một ngày ban đầu sẽ là bây giờ;
- Đặt một ngày cuối cùng sẽ là ngày ban đầu cộng với một số giây trong tương lai [ví dụ như nói 15]
- Nhận sự khác biệt giữa hai [số giây]
Lý do tại sao tôi làm nó với ngày đó là vì ngày / giờ cuối cùng phụ thuộc vào một số biến khác và nó không bao giờ giống nhau [nó phụ thuộc vào mức độ nhanh của người dùng] và tôi cũng lưu trữ ngày ban đầu cho những thứ khác.
Tôi đã thử một cái gì đó như thế này:
var _initial = new Date[],
_initial = _initial.setDate[_initial.getDate[]],
_final = new Date[_initial];
_final = _final.setDate[_final.getDate[] + 15 / 1000 * 60];
var dif = Math.round[[_final - _initial] / [1000 * 60]];
Điều này là tôi không bao giờ có được sự khác biệt đúng đắn. Tôi đã cố gắng chia cho
var startDate = new Date[];
// Do your operations
var endDate = new Date[];
var seconds = [endDate.getTime[] - startDate.getTime[]] / 1000;
1 sẽ để lại cho tôi những giây, nhưng tôi không bao giờ hiểu đúng. Vậy logic của tôi có gì sai? Tôi có thể đã phạm một sai lầm ngu ngốc vì đã khá muộn, nhưng điều đó làm phiền tôi rằng tôi không thể làm cho nó hoạt động :]Hỏi ngày 15 tháng 12 năm 2012 lúc 17:48Dec 15, 2012 at 17:48
12
Mật mã
var startDate = new Date[];
// Do your operations
var endDate = new Date[];
var seconds = [endDate.getTime[] - startDate.getTime[]] / 1000;
Hoặc thậm chí đơn giản hơn
var startDate = new Date[];
// Do your operations
var endDate = new Date[];
var seconds = [endDate.getTime[] - startDate.getTime[]] / 1000;
2 như đã chỉ ra trong các bình luận trừ khi bạn đang sử dụng TypeScript.Giải thích
Bạn cần gọi phương thức
var startDate = new Date[];
// Do your operations
var endDate = new Date[];
var seconds = [endDate.getTime[] - startDate.getTime[]] / 1000;
3 cho các đối tượng var startDate = new Date[];
// Do your operations
var endDate = new Date[];
var seconds = [endDate.getTime[] - startDate.getTime[]] / 1000;
4, sau đó chỉ cần trừ chúng và chia cho 1000 [vì nó ban đầu bằng mili giây]. Như một phần bổ sung, khi bạn gọi phương thức var startDate = new Date[];
// Do your operations
var endDate = new Date[];
var seconds = [endDate.getTime[] - startDate.getTime[]] / 1000;
5, thực tế bạn sẽ nhận được ngày trong tháng dưới dạng số nguyên từ 1 đến 31 [không dựa trên 0] so với thời gian mà bạn nhận được từ việc gọi var startDate = new Date[];
// Do your operations
var endDate = new Date[];
var seconds = [endDate.getTime[] - startDate.getTime[]] / 1000;
3 Phương pháp, đại diện cho số mili giây kể từ ngày 1 tháng 1 năm 1970, 00:00Cơn thịnh nộ
Tùy thuộc vào các hoạt động liên quan đến ngày của bạn, bạn có thể muốn đầu tư vào việc tích hợp một thư viện, chẳng hạn như Date.js hoặc Moment.js giúp mọi thứ trở nên dễ dàng hơn cho nhà phát triển, nhưng đó chỉ là vấn đề sở thích cá nhân.
Ví dụ, trong khoảnh khắc.js chúng tôi sẽ làm
var startDate = new Date[];
// Do your operations
var endDate = new Date[];
var seconds = [endDate.getTime[] - startDate.getTime[]] / 1000;
7 rất đẹp.Tài liệu hữu ích cho câu trả lời này
- Tại sao 1970?
- Đối tượng ngày
- Phương pháp GetTime của ngày
- Phương pháp GetDate của ngày
- Cần nhiều độ chính xác hơn chỉ vài giây?
Đã trả lời ngày 15 tháng 12 năm 2012 lúc 17:51Dec 15, 2012 at 17:51
Juan Cortésjuan CortésJuan Cortés
20.1k8 Huy hiệu vàng66 Huy hiệu bạc89 Huy hiệu đồng8 gold badges66 silver badges89 bronze badges
6
Bạn có thể sử dụng
var startDate = new Date[];
// Do your operations
var endDate = new Date[];
var seconds = [endDate.getTime[] - startDate.getTime[]] / 1000;
8 để có dấu thời gian. Sau đó, bạn có thể tính toán sự khác biệt giữa kết thúc và bắt đầu và cuối cùng chuyển đổi dấu thời gian là var startDate = new Date[];
// Do your operations
var endDate = new Date[];
var seconds = [endDate.getTime[] - startDate.getTime[]] / 1000;
9 thành const start = new Date[].getTime[];
const end = new Date[].getTime[];
const diff = end - start;
const seconds = Math.floor[diff / 1000 % 60];
0.const start = new Date[].getTime[];
const end = new Date[].getTime[];
const diff = end - start;
const seconds = Math.floor[diff / 1000 % 60];
Đã trả lời ngày 19 tháng 9 năm 2017 lúc 15:28Sep 19, 2017 at 15:28
3
var _initial = '2015-05-21T10:17:28.593Z';
var fromTime = new Date[_initial];
var toTime = new Date[];
var differenceTravel = toTime.getTime[] - fromTime.getTime[];
var seconds = Math.floor[[differenceTravel] / [1000]];
document.write['+ seconds +'];
Đã trả lời ngày 22 tháng 7 năm 2015 lúc 11:46Jul 22, 2015 at 11:46
Chính xác và nhanh chóng sẽ cung cấp đầu ra trong vài giây:
let startDate = new Date[]
let endDate = new Date["yyyy-MM-dd'T'HH:mm:ssZ"];
let seconds = Math.round[[endDate.getTime[] - startDate.getTime[]] / 1000];
Đã trả lời ngày 28 tháng 1 năm 2021 lúc 7:05Jan 28, 2021 at 7:05
Ajmal Hasanajmal HasanAjmal Hasan
4296 Huy hiệu bạc6 Huy hiệu Đồng6 silver badges6 bronze badges
Mã dưới đây sẽ cung cấp sự khác biệt về thời gian trong thứ hai.
Nhập khẩu nền tảng
var date1 = new Date[]; // current date
var date2 = new Date["06/26/2018"]; // mm/dd/yyyy format
var timeDiff = Math.abs[date2.getTime[] - date1.getTime[]]; // in miliseconds
var timeDiffInSecond = Math.ceil[timeDiff / 1000]; // in second
alert[timeDiffInSecond ];
Đã trả lời ngày 27 tháng 6 năm 2018 lúc 7:43Jun 27, 2018 at 7:43
Gautam Raigautam RaiGautam Rai
2.3652 Huy hiệu vàng19 Huy hiệu bạc31 Huy hiệu đồng2 gold badges19 silver badges31 bronze badges
chênh lệch thời gian giữa bây giờ đến 10 phút sau khi sử dụng meam
let start_time = moment[].format['YYYY-MM-DD HH:mm:ss'];
let next_time = moment[].add[10, 'm'].format['YYYY-MM-DD HH:mm:ss'];
let diff_milliseconds = Date.parse[next_time] - Date.parse[star_time];
let diff_seconds = diff_milliseconds * 1000;
Đã trả lời ngày 16 tháng 5 năm 2018 lúc 16:48May 16, 2018 at 16:48
Surya Singhsurya SinghSurya Singh
Huy hiệu bạc 11911 silver badge11 bronze badges
let startTime = new Date[timeStamp1];
let endTime = new Date[timeStamp2];
Để có được sự khác biệt giữa các ngày tính bằng giây ->
let timeDiffInSeconds = Math.floor[[endTime - startTime] / 1000];
Nhưng porduc này dẫn đến UTC [vì một số lý do mà tôi không biết]. Vì vậy, bạn phải tính đến phần bù múi giờ mà bạn có thể làm như vậy bằng cách thêm
ngày mới []. getTimeZoneoffset [];
Nhưng điều này mang lại cho thời gian bù thời gian trong vài phút, vì vậy bạn phải nhân nó với 60 để có được sự khác biệt trong vài giây.
let timeDiffInSecondsWithTZOffset = timeDiffInSeconds + [new Date[].getTimezoneOffset[] * 60];
Điều này sẽ tạo ra kết quả là chính xác theo bất kỳ thời gian nào và sẽ không thêm/trừ giờ dựa trên múi giờ của bạn so với UTC.
Đã trả lời ngày 15 tháng 4 lúc 3:55Apr 15 at 3:55
Xác định hai ngày bằng ngày mới []. Tính chênh lệch thời gian của hai ngày sử dụng ngày 2. GetTime [] - Ngày1. dành thời gian[]; Tính toán không. Trong số các ngày giữa hai ngày, chia chênh lệch thời gian của cả hai ngày cho không. của mili giây trong một ngày [10006060*24]
Đã trả lời ngày 12 tháng 1 năm 2021 lúc 4:03Jan 12, 2021 at 4:03
Hãy thử sử dụng các chức năng chuyên dụng từ các ngôn ngữ lập trình cấp cao. JavaScript
const start = new Date[].getTime[];
const end = new Date[].getTime[];
const diff = end - start;
const seconds = Math.floor[diff / 1000 % 60];
1 Bộ quần áo ở đây:var startDate = new Date[];
// Do your operations
var endDate = new Date[];
var seconds = [endDate.getTime[] - startDate.getTime[]] / 1000;
0Đã trả lời ngày 2 tháng 11 năm 2017 lúc 5:00Nov 2, 2017 at 5:00
Gilbert Cutgilbert cắtGilbert Cut
Huy hiệu bằng đồng 1131 Bạc121 silver badge12 bronze badges
1