javascript 日期格式 yyyy-mm-dd HH:MM:ss [重复]。

问题描述 投票:0回答:1

我在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

谁能帮助我?

javascript date datetime date-format date-parsing
1个回答
0
投票

使用 toLocaleString 而不是 toLocaleTimeString


0
投票

你应该使用 currentdate.toLocaleString() 反而 toLocaleTimeString() 返回该日期的时间部分的语言敏感的字符串。

toLocaleString

toLocaleTimeString


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;
}

问候


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}`);
© www.soinside.com 2019 - 2024. All rights reserved.