如何将日期转换为“mm/dd/yy"”在Javascript

How to convert a date to "mm/dd/yy" in Javascript?

本文关键字:quot yy Javascript dd 日期 转换 mm      更新时间:2023-09-26

我必须将日期从Mon Dec 23 00:00:00 EST 2013转换为12/23/2013

MyDate是要转换的变量,具有第一种格式。

function checkrecord(reptdate) {
    if (reportdate != '' ){
       $('#tblearn tr[id]').each(function () {
          var _v_reptdate = $.trim($(this).find('[colname = "daterpted"]').html());
          if (reptdate == _v_reptdate)  {
             alert('do something');
          }
       });
    }
}

换句话说,我想将reptdate (Mon Dec 23 00:00:00 EST 2013格式)转换为_v_reptdate("12/23/2013"格式)。我想转换参数,因为这个函数是从许多其他函数调用

var MyDate = "Mon Dec 23 00:00:00 EST 2013";
var d = new Date(MyDate);
var formatted = d.toLocaleDateString();

如果不使用库,不同浏览器和不同地区的结果将不一致。moment.js是一个很好的库。

我不知道formatDate,但你可以自己做:

看我在jsFiddle上的例子:http://jsfiddle.net/2ZYW8/4

function formatDate(dateString) {
    var m = dateString.substr(4,3);
    var d = dateString.substr(8,2);
    var y = dateString.substr(-4,4);
    var months = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
    var m_i = months.indexOf(m) + 1;
    if(parseInt(m_i) < 10) m_i = "0" + m_i;
    return d+"/"+m_i+"/"+y;
}

然而,我不知道你是如何得到要转换的值。如果您从Date.toString()获得值(您的示例Mon Dec 23 00:00:00 EST 2013),则上述代码可能在不同的浏览器中失败。

因此,如果您确定输入值的格式总是相同的,那么上面的函数将会很好。如果您不确定格式,我建议使用其他人建议的一个很棒的工具库。

更新:

您可以在代码中像这样使用formatDate函数:
function checkrecord(reptdate) {
    if (reportdate != '' ){
       $('#tblearn tr[id]').each(function () {
          var _v_reptdate = $.trim($(this).find('[colname = "daterpted"]').html());
          _v_reptdate = formatDate(_v_reptdate);
          if (reptdate == _v_reptdate)  {
             alert('do something');
          }
       });
    }
}