如何使用javascript将yyyy-mm-dd转换为dd-Mon-yyyy(带月名)

How to convert yyyy-mm-dd to dd-Mon-yyyy (with month name) using javascript

本文关键字:dd-Mon-yyyy javascript 何使用 yyyy-mm-dd 转换      更新时间:2023-09-26

日期格式为2016-01-09。现在我想将此日期格式转换为2016年1月9日,我能够转换为2016年9月1日。但是我怎样才能把月份的名字加进去呢?有人能帮忙吗?下面是我正在尝试的代码

function formatDate(input){
            var datePart = input.match(/'d+/g),
            year = datePart[0].substring(0,4), // get only two digits
            month = datePart[1], day = datePart[2];
            return day+'-'+month+'-'+year;
}
formatDate ('2010-01-18'); // "18-01-2010"

您可以通过以下多种方式做到这一点:

var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
 "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
function dateFormat(d){
  var t = new Date(d);
  return t.getDate()+'-'+monthNames[t.getMonth()]+'-'+t.getFullYear();
}

你可以这样获取月份:

var objDate = new Date(date).toLocaleString("en-us", { month: "long" });//January
var objDate = new Date(date).toLocaleString("en-us", { month: "short" }); //Jan

你可以使用moment.js

var shortMonthName = moment(date).format('MMM') // Jan
var fullMonthName = moment(date).format('MMMM') // January

参考:http://momentjs.com/

试试这个

function formatDate(d) 
        {
          var date = new Date(d);
         if ( isNaN( date .getTime() ) ) 
         {
            return d;
         }
         else
        {
          
          var month = new Array();
          month[0] = "Jan";
          month[1] = "Feb";
          month[2] = "Mar";
          month[3] = "Apr";
          month[4] = "May";
          month[5] = "Jun";
          month[6] = "Jul";
          month[7] = "Aug";
          month[8] = "Sept";
          month[9] = "Oct";
          month[10] = "Nov";
          month[11] = "Dec";
          day = date.getDate();
          
          if(day < 10)
          {
             day = "0"+day;
          }
          
          return    day  + " " +month[date.getMonth()] + " " + date.getFullYear();
          }
            
         }
date_response = formatDate('2016-10-25');
alert(date_response)

最容易使用第三方库,例如momententjs (npm install moment)。你当然可以自己滚动它,但是moment/Date格式命令非常有表现力/强大。它们还支持开箱即用的持续时间和日期时间转换。

 >>> var moment = require('moment')
 >>> moment('2016-01-09').format('DD-MM-YY')
 '09-01-16'