Tôi cần viết JavaScript cho phép tôi so sánh hai dấu thời gian ISO và sau đó in ra sự khác biệt giữa chúng, ví dụ: "32 giây".So sánh 2 dấu thời gian ISO 8601 và số giây đầu ra/phút
Dưới đây là một chức năng tôi tìm thấy trên Stack Overflow, nó biến một ngày bình thường thành một định dạng ISO. Vì vậy, đó là điều đầu tiên trên đường đi, nhận được thời gian hiện tại ở định dạng ISO.
Điều tiếp theo tôi cần làm là lấy một dấu thời gian ISO khác để so sánh nó với, tốt, tôi đã lưu trữ trong một đối tượng. Nó có thể được truy cập như thế này: marker.timestamp (như thể hiện trong đoạn code dưới đây). Bây giờ tôi cần so sánh hai dấu thời gian đó và tìm ra sự khác biệt giữa chúng. Nếu nó là < 60 giây, nó sẽ xuất ra trong vài giây, nếu nó> 60 giây, nó sẽ xuất ra 1 phút và 12 giây trước chẳng hạn.
Cảm ơn!
function ISODateString(d){
function pad(n){return n<10 ? '0'+n : n}
return d.getUTCFullYear()+'-'
+ pad(d.getUTCMonth()+1)+'-'
+ pad(d.getUTCDate())+'T'
+ pad(d.getUTCHours())+':'
+ pad(d.getUTCMinutes())+':'
+ pad(d.getUTCSeconds())+'Z'}
var date = new Date();
var currentISODateTime = ISODateString(date);
var ISODateTimeToCompareWith = marker.timestamp;
// Now how do I compare them?
Vì vậy, bạn muốn so sánh 'currentISODateTime' với' ISODateTimeToCompareWith' và chúng đều ở định dạng ISO 8601? – federicot
@Campari Có, chính xác điều đó, sau đó xuất ra sự khác biệt giữa chúng. Cả hai đều ở định dạng ISO 8601. – jskidd3