Aman Sharma
Aman Sharma

Reputation: 67

convert time into minute or seconds using javascript

I want to display time in 24 hours format, but in my code the problem is that it shows the date:minute (18:20) after this i need to convert that time in minutes or seconds.

 var time = "18/10/2016 7:20:50 PM";
        var hours = Number(time.match(/^(\d+)/)[1]);
        var minutes = Number(time.match(/:(\d+)/)[1]);
        var AMPM = time.match(/\s(.*)$/)[1];
        if (AMPM == "PM" && hours < 12) hours = hours + 12;
        if (AMPM == "AM" && hours == 12) hours = hours - 12;
        var sHours = hours.toString();
        var sMinutes = minutes.toString();
        if (hours < 10) sHours = "0" + sHours;
        if (minutes < 10) sMinutes = "0" + sMinutes;
        stime = (sHours + ":" + sMinutes);
    	sstime = stime.toString();
    	document.write(sstime);

Upvotes: 0

Views: 397

Answers (2)

gurvinder372
gurvinder372

Reputation: 68433

Your hours regex is wrong, try this simpler way to extract hours and minutes

var items = time.split( " " )[1].split(":");
var hours = Number(items[0]);
var minutes = Number(items[1]);

Your rest of the logic should be fine.

var time = "18/10/2016 7:20:50 PM";
var items = time.split(" ")[1].split(":");
var hours = Number(items[0]);
var minutes = Number(items[1]);
var AMPM = time.split(" ")[2];
if (AMPM == "PM" && hours < 12) hours = hours + 12;
if (AMPM == "AM" && hours == 12) hours = hours - 12;
var sHours = hours.toString();
var sMinutes = minutes.toString();
if (hours < 10) sHours = "0" + sHours;
if (minutes < 10) sMinutes = "0" + sMinutes;
stime = (sHours + ":" + sMinutes);
sstime = stime.toString();
console.log(sstime);

Upvotes: 2

Hassan ALi
Hassan ALi

Reputation: 1331

dt = new Date();
    var m = dt.getMonth() + 1;
    var y = dt.getFullYear();
    var d = dt.getDate();
    var mm = dt.getMinutes();
    var h = dt.getHours();
    var s = dt.getSeconds();
    if (m < 10)
        m = "0" + m;
    if (d < 10)
        d = "0" + d;

    if (h < 10)
        h = "0" + h;
    if (mm < 10)
        mm = "0" + mm;
    if (s < 10)
        s = "0" + s;
    console.log( y + "-" + m + "-" + d + " " + h + ":" + mm + ":" + s);
    console.log( y + "-" + m + "-" + d);

Upvotes: 1

Related Questions