jquery将日期从mm / dd / yy转换为yyyy-dd-mm

时间:2011-02-22 22:48:40

标签: javascript jquery ajax jquery-plugins

我收到一个日期格式为mm / dd / yy的ajax响应。如何使用jquery将其转换为yyyy-mm-dd格式? jquery有内部函数来执行此操作吗?

3 个答案:

答案 0 :(得分:4)

简单,没有检查输入(JavaScript,没有jQuery):

var d        = '01/25/90';   // as an example
var yy       = d.substr(6,2);
var newdate  = (yy < 90) ? '20' + yy : '19' + yy;
    newdate += '-' + d.substr(0,2) + '-' + d.substr(3,2); //1990-01-25

答案 1 :(得分:2)

这种事情不是jQuery旨在促进的。 jQuery库主要是关于DOM操作,对代码结构的便利性做了各种让步。

您需要做的是将传入地址拆分为文本,然后将其重新构建为兼容的JavaScript可解析日期,或者只是从字符串中获取年,月和日并使用javascript“Date()”构造函数,它将这些作为数值。这段代码将为您提供格式的日期:

此代码将为您提供格式的日期:

function toDate(str) {
  var rv = null;
  str.replace(/^(\d\d)\/(\d\d)\/(\d\d)\$/, function(d, yy, mm, dd) {
    if (!d) throw "Bad date: " + str;
    yy = parseInt(yy, 10);
    yy = yy < 90 ? 2000 + yy : 1900 + yy;
    rv = new Date(yy, parseInt(mm, 10) - 1, parseInt(dd, 10));
    return null;
  });
  return rv;
}

答案 2 :(得分:0)

<script>

    $(document).ready(function(){   

        $("#date").change(function(){
            var $d = $(this).val();  
            var $yy = $d.substr(6,4);
            var $dd = $d.substr(3,2);
            var $mm = $d.substr(0,2);
            var $newdate = $yy + '-' + $mm + '-' + $dd; 
            $("#date").val($newdate);
        });
    })

</script>