将日期字符串转换为" mmm。 d,yyyy" JavaScript中的格式

时间:2018-02-28 09:01:11

标签: javascript

我想转换字符串,例如' 2-12-2018'到2018年2月12日。我已经尝试了很多东西,但仍然没有以mmm格式向我展示这个月。

5 个答案:

答案 0 :(得分:0)

尝试以下方法:



var date = '2-12-2018';
date = new Date(date);
var month = date.toLocaleString("en-us", { month: "short" });
var day = date.getDate();
var year = date.getFullYear();
var newDate = month+'. '+day+', ' + year
console.log(newDate);




答案 1 :(得分:0)

正如其他人指出的,对于类似问题,已有很多答案,但是由于 JavaScript日期无情地驱使我抓狂batty ,我认为可以使用这种做法。

所以这是一种解决方案:

function mddyyyy_to_mmmdyyyy(s) {
  var s=s.split(/\D/),dt=new Date(s[2],s[0]-1,s[1]);
  return dt.toLocaleString('en-CA', {month:'short', day:'numeric', year:'numeric'});
}

...因此,例如,您可以像这样运行它:

<div id='test'></div>
<script>
  document.getElementById('test').innerHTML=mddyyyy_to_mmmdyyyy('2-12-2018');
</script>

答案 2 :(得分:-1)

您可以使用momentjs

执行此操作
var res = moment("2-12-2018").format("DD/MM/YYYY")

var now = moment(res).format('MMM. DD, YYYY');

答案 3 :(得分:-1)

您可以创建一个将字符串作为参数传递的函数,该函数从字符串创建Date对象,然后将格式化的日期作为字符串返回。如下:

var formatDate = function(datestring){
    var dt = new Date(datestring); 
    var month = ['Jan' , 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
    return (month[dt.getMonth()] + 
    ". " +  dt.getDate() +
    ", " +  dt.getFullYear());
}

然后你只需要将它作为参数传递给任何日期字符串:

console.log(formatDate('02-12-2017'));

答案 4 :(得分:-1)

function formatDate(date) {
var monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ];
var day = date.getDate();
var monthIndex = date.getMonth();
var year = date.getFullYear();

return monthNames[monthIndex]+ '.' + day +   + ',' + year;
}