जावास्क्रिप्ट में निर्दिष्ट समय (न्यूनतम और अधिकतम समय) में 30 मिनट कैसे जोड़ें। उदाहरण के लिए: मेरे पास 03:00 पूर्वाह्न और समाप्ति समय 05:00 बजे के रूप में प्रारंभ समय है और मुझे प्रारंभ समय से समाप्ति समय तक 30 मिनट जोड़ने की आवश्यकता है .

-5
Nandha 29 नवम्बर 2018, 09:05

1 उत्तर

सबसे बढ़िया उत्तर

आप समय को विभाजित करके इसे प्राप्त कर सकते हैं

यह इस प्रकार किया जा सकता है

var startTime = '03:00 AM';
var newStartTime = startTime;
var endTime = '05:00 AM';
var minutes=0;
var hours=0;
var timeArray=[];
var ampm='';
var executing=true;
while(executing) {
    timeArray.push(newStartTime);
    minutes = Number(minutes) + 30;
    hours = newStartTime.split(' ')[0].split(':')[0]
    ampm= newStartTime.split(' ')[1];
    if(minutes > 59) {
        if(Number(hours) > 12) {
            ampm = newStartTime.split(' ')[1] == 'AM'?'PM':'AM';
            hours = '01';
        }
        else {
            hours = Number(hours) + 1;
            if(hours.toString().length ==1) {
                hours = '0' + hours;
            }
        }
        minutes = minutes - 60;
    }
    if(minutes.toString().length ==1) {
                minutes = '0' + minutes;
    }
    newStartTime = hours + ':' + minutes+' ' +ampm;
    if(Number(newStartTime.split(' ')[0].split(':')[0]) > Number(endTime.split(' ')[0].split(':')[0])){
        if(newStartTime.split(' ')[1] == endTime.split(' ')[1])
            executing = false;
    }
    else if(Number(newStartTime.split(' ')[0].split(':')[0]) == Number(endTime.split(' ')[0].split(':')[0])) {
         if(Number(newStartTime.split(' ')[0].split(':')[1]) >= Number(endTime.split(' ')[0].split(':')[1])) {
            if(newStartTime.split(' ')[1] == endTime.split(' ')[1])
                executing = false;
        }
    }
}
timeArray.push(endTime);

यहां आपके लिए एक छोटा JsFiddle दिया गया है

आप एंडटाइम के साथ भी ऐसा ही कर सकते हैं,

ऐसा करने के और भी कई तरीके हैं और यह उनमें से एक है,

आशा है कि यह आपकी समस्या का समाधान करेगा,

0
29 नवम्बर 2018, 07:14