JavaScript日期格式yyyy-mm-dd HH:MM:ss

时间:2020-05-07 18:32:10

标签: javascript date datetime date-format date-parsing

我遇到了JavaScript日期格式的问题,所有使用yyyy-mm-dd HH:MM:ss格式的日期

我的代码:

var currentdate = new Date();
var prevdate = new Date();
var firstdate = new Date();

prevdate.setTime(currentdate.getTime() - (30 * 60 * 1000));
firstdate.setTime(currentdate.getTime() + (30 * 60 * 1000));

var current = currentdate.toLocaleTimeString(); 
var previous = prevdate.toLocaleTimeString();      
var first = firstdate.toLocaleTimeString();      

控制台数据

console.log(previous);   //10:28:24 PM
console.log(current);    //10:58:24 PM
console.log(first);      //11:28:24 PM


我尝试这样做,如何过previousfirst日期

var Currentdate=dateFormat(new Date(), "yyyy-mm-dd HH:MM:ss");
console.log("Currentdate");  //2020-05-07 22:58:11

预期的输出日期格式:yyyy-mm-dd HH:MM:ss

previous date: 2020-05-07 22:28:11   // date before 30min
current date:  2020-05-07 22:58:11   // current date 
first date:    2020-05-07 23:28:11   // date after 30min

我该怎么办?有人可以帮忙吗?

4 个答案:

答案 0 :(得分:0)

使用toLocaleString代替toLocaleTimeString

答案 1 :(得分:0)

您需要使用toLocaleString

var currentdate = new Date();
var prevdate = new Date();
var firstdate = new Date();

prevdate.setTime(currentdate.getTime() - (30 * 60 * 1000));
firstdate.setTime(currentdate.getTime() + (30 * 60 * 1000));

var options = { hour12: false };

var current = currentdate.toLocaleString('en-US', options);
var previous = prevdate.toLocaleString('en-US', options);      
var first = firstdate.toLocaleString('en-US', options);
current = current.replace(/\//g, '-');
previous = previous.replace(/\//g, '-');
first = first.replace(/\//g, '-');

console.log(`current: ${current}`);
console.log(`previous: ${previous}`);
console.log(`first: ${first}`);

答案 2 :(得分:0)

您应该改用currentdate.toLocaleString(),例如toLocaleTimeString() 返回一个字符串,该字符串具有该日期时间部分的语言敏感表示形式

toLocaleString

toLocaleTimeString

答案 3 :(得分:0)

您好,请尝试以下功能:

function getTime(){
    var date = new Date();
    console.log(GetFormattedDate(date));
}



function GetFormattedDate(date) {
    var month = ("0" + (date.getMonth() + 1)).slice(-2);
    var day  = ("0" + (date.getDate())).slice(-2);
    var year = date.getFullYear();
    var hour =  ("0" + (date.getHours())).slice(-2);
    var min =  ("0" + (date.getMinutes())).slice(-2);
    var seg = ("0" + (date.getSeconds())).slice(-2);
    return year + "-" + month + "-" + day + " " + hour + ":" +  min + ":" + seg;
}

以您的情况

function getTime(){
    var date = new Date();

    var currentdate = new Date();
    var prevdate = new Date();
    var firstdate = new Date();

    prevdate.setTime(currentdate.getTime() - (30 * 60 * 1000));
    firstdate.setTime(currentdate.getTime() + (30 * 60 * 1000));


    console.log(GetFormattedDate(prevdate));
    console.log(GetFormattedDate(currentdate));
    console.log(GetFormattedDate(firstdate));
}



function GetFormattedDate(date) {
    var month = ("0" + (date.getMonth() + 1)).slice(-2);
    var day  = ("0" + (date.getDate())).slice(-2);
    var year = date.getFullYear();
    var hour =  ("0" + (date.getHours())).slice(-2);
    var min =  ("0" + (date.getMinutes())).slice(-2);
    var seg = ("0" + (date.getSeconds())).slice(-2);
    return year + "-" + month + "-" + day + " " + hour + ":" +  min + ":" + seg;
}

致谢