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);
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);
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);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.