将 MM/DD/YYYY 日期转换为月日年

Ste*_*veV 6 javascript date date-manipulation momentjs

我正在尝试将 MM/DD/YYYY 日期转换为长日期。例如,02/12/2013会转换为类似Tuesday February 12 2013.

我研究过 MomentJS 和其他 JS 方法,但没有真正达到我想要的效果。或者至少,我不这么认为。

有没有办法让这个日期转换准确?

Abd*_*med 8

使用 moment.js,

您可以使用 JavaScript Date 对象来做到这一点

var date = new Date(2013, 1, 12);
console.log(moment(date).format('dddd MMMM D Y'));
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.0/moment.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

如果要将日期字符串转换为长日期格式字符串,可以这样做。

var longDateStr = moment('02/12/2013', 'M/D/Y').format('dddd MMMM D Y');
console.log(longDateStr);
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.0/moment.min.js"></script>
Run Code Online (Sandbox Code Playgroud)


dep*_*erm 7

如果您不需要任何其他脚本,您可以使用Date一些数组

var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
var now = new Date('02/12/2013');
console.log(days[now.getDay()] + ' ' + months[now.getMonth()] + ' ' + now.getDate() + ' ' + now.getFullYear()); //Tuesday February 12 2013
Run Code Online (Sandbox Code Playgroud)


小智 5

我认为有一些简单的方法可以做到这一点。

function getData() {
  var d = new Date("02/12/2013");
  var options = {
    weekday: 'long',
    year: 'numeric',
    month: 'long',
    day: 'numeric'
  };
  var n = d.toLocaleDateString('en-US', options);
  var t = d.toLocaleTimeString('en-GB')
  var replase = n.replace(new RegExp(',', 'g'), ' ')
  document.getElementById("demo").innerHTML = replase
}
getData()
Run Code Online (Sandbox Code Playgroud)
<span id="demo"></span>
Run Code Online (Sandbox Code Playgroud)