在JavaScript中将日期格式化为 MM/dd/yyyy

27 浏览
0 Comments

在JavaScript中将日期格式化为 MM/dd/yyyy

这个问题已经有答案了

我可以在JavaScript中哪里找到日期格式化的文档?

我有一个像这样的日期格式\'2010-10-11T00:00:00+05:30\',我必须使用JavaScript或jQuery将其格式化为MM/dd/yyyy。 有人能帮我做到这一点吗?

admin 更改状态以发布 2023年5月24日
0
0 Comments

所有其他答案都没有完全解决这个问题。它们将日期格式化为 mm/dd/yyyy,但问题是关于 MM/dd/yyyy。注意微妙的差异吗?MM表示如果月份是单个数字,则必须使用前导零填充该月份,因此它始终是双位数。

即:mm/dd将是3/31,而MM/dd将是03/31。

我创建了一个简单的函数来实现这一点。请注意,相同的填充不仅适用于月份,还适用于月份的日期,实际上使其成为了MM/DD/yyyy:

function getFormattedDate(date) {
  var year = date.getFullYear();
  var month = (1 + date.getMonth()).toString();
  month = month.length > 1 ? month : '0' + month;
  var day = date.getDate().toString();
  day = day.length > 1 ? day : '0' + day;
  return month + '/' + day + '/' + year;
}


使用String.padStart()进行ES2017的更新,除IE外,所有主要浏览器都支持。

function getFormattedDate(date) {
    let year = date.getFullYear();
    let month = (1 + date.getMonth()).toString().padStart(2, '0');
    let day = date.getDate().toString().padStart(2, '0');
    return month + '/' + day + '/' + year;
}

0
0 Comments

尝试这个;记住JavaScript的月份从0开始计数,而日期从1开始计数。

var date = new Date('2010-10-11T00:00:00+05:30');
    alert(((date.getMonth() > 8) ? (date.getMonth() + 1) : ('0' + (date.getMonth() + 1))) + '/' + ((date.getDate() > 9) ? date.getDate() : ('0' + date.getDate())) + '/' + date.getFullYear());

0