दिनों, महीनों, दिनों में छोड़े गए दिनों की संख्या [डुप्लिकेट]
मैं दो तिथियों (मेरे जन्मदिन और मेरे जन्मदिन तक बचे हुए समय को प्राप्त करने के लिए वर्तमान तारीख) के बीच अंतर प्राप्त करने की कोशिश कर रहा हूं, लेकिन मैं आउटपुट प्रारूप ('वर्ष / महीने / दिन) चाहता हूं; मैं वह कैसे कर सकता हूं? यही मैंने अब तक कोशिश की है:
const birthday = new Date ('11-20-2021').getTime();
const today = new Date ().getTime();
const dys = (1000*60*60*24);
const months = (dys*30);
let differance = birthday-today ;
const formatted = Math.round(differance/dys);
console.log(formatted);`
पहले ही, आपका बहुत धन्यवाद
जवाब
आप मॉडुलो ऑपरेटर के बारे में कैसा महसूस करते हैं? :)
यह एक आम गणित ऑपरेशन है, जैसे परिवर्तन या ऐसा खोजना। इसे इस तरह से सोचें, यदि आपके पास बड़ी संख्या में दिन हैं, तो 397 कहें, आप पूर्णांक विभाजन (1) कर के कई वर्षों की संख्या प्राप्त कर सकते हैं, तो आप एक वर्ष के लिए modulo करके वर्ष की संख्या छोड़ सकते हैं। शेष (दिनों में) ३ ९ 365% ३६५ = ३२ = फिर आप शेष महीनों की संख्या प्राप्त करने के लिए प्रक्रिया को दोहरा सकते हैं (१ ... ३० दिन का महीना मानकर) उस और फिर से, दिनों की अंतिम संख्या २ प्राप्त करने के लिए मोडुलो ...
मैं कोई जावास्क्रिप्ट समर्थक नहीं हूं, लेकिन मुझे लगता है कि पूर्णांक प्रारूप में विभाजन का परिणाम प्राप्त करने के लिए आपको Math.floor (भागफल) का उपयोग करने की आवश्यकता है।
यह उदाहरण वर्तमान तिथि और दिनांक 2100/0/14 के बीच तुलना करता है उदाहरण में एक ही अवधारणा की कोशिश करें और मुझे आशा है कि यह मदद करता है:
var today, someday, text;
today = new Date();
someday = new Date();
someday.setFullYear(2100, 0, 14);
if (someday > today) {
text = "Today is before January 14, 2100.";
} else {
text = "Today is after January 14, 2100.";
}
document.getElementById("demo").innerHTML = text;
तारीखों और मतभेदों के साथ काम करना मुश्किल हो सकता है क्योंकि बहुत सारे किनारे मामले हैं। यही कारण है कि मैं एक समर्पित पुस्तकालय को संभालना पसंद करता हूं, जैसेhttps://momentjs.com/
पल में एक प्लगइन है (https://www.npmjs.com/package/moment-precise-range-plugin) जो वास्तव में आप क्या देख रहे हैं:
import moment from 'moment';
import 'moment-precise-range-plugin';
var m1 = moment('2014-01-01 12:00:00','YYYY-MM-DD HH:mm:ss');
var m2 = moment('2014-02-03 15:04:05','YYYY-MM-DD HH:mm:ss');
var diff = moment.preciseDiff(m1, m2, true); // {years : 0, months : 1, days : 2, hours : 3, minutes : 4, seconds : 5}
var str = `Years: ${diff.years}, Months: ${diff.months}, Days: ${diff.days} `; // 'Years: 0, Months: 1, Days: 2'