在Javascript中将字符串m / dd / yyyy HH:MM:SS转换为日期dd-mm-yyyy

时间:2018-04-10 08:07:19

标签: javascript datetime

我的字符串看起来像' 1/11/2018 12:00:00 AM'我想把它重新格式化为dd-mm-yyyy。 请记住,有时月份可能是两位数。

3 个答案:

答案 0 :(得分:0)

你可以这样想:

 var d = new Date();
    var curr_date = d.getDate();
    var curr_month = d.getMonth() + 1; //Months are zero based
    var curr_year = d.getFullYear();
    console.log(curr_date + "-" + curr_month + "-" + curr_year);

但最好的方法是使用Moment.js,您可以在JavaScript中解析,验证,操作和显示日期。

示例:

  var date= moment("06/06/2015 11:11:11").format('DD-MMM-YYYY');

答案 1 :(得分:0)

您可以使用像moment.js这样的库。假设您不想使用任何外部库或无法使用它,那么您可以使用以下自定义方法:

function formatDate(dateStr) {
    let date = new Date(dateStr);
    let day = date.getDate();
    let month = date.getMonth() + 1;
    let year = date.getFullYear();

    return day + '-' + month + '-' + year;
}

console.log(formatDate('1/11/2018 12:00:00 AM')); 

答案 2 :(得分:0)

function convertDate(oldDate) {
  var myDate = new Date(Date.parse(oldDate)); //String -> Timestamp -> Date object
  var day = myDate.getDate(); //get day
  var month = myDate.getMonth() + 1; //get month
  var year = myDate.getFullYear(); //get Year (4 digits)
  return pad(day,2) + "-" + pad(month, 2) + "-" + year; //pad is a function for adding leading zeros
}

function pad(num, size) { //function for adding leading zeros
  var s = num + "";
  while (s.length < size) s = "0" + s;
  return s;
}

convertDate("1/11/2018 12:00:00 AM"); //11-01-2018

Demo here