Javascript 输入后将日期格式从年月日转换为年月日-年月日格式

Javascript 输入后将日期格式从年月日转换为年月日-年月日格式,javascript,Javascript,在我的日期选择器中,日期将以mm/dd/yyyy格式插入。但在我插入后,我希望它以yyyy-mm-dd格式发送。我正在使用JavaScript来实现这一点。但我没能做到。那我该怎么办 谢谢和问候, Chiranthaka我为我的网站做了相反的事情,但它可能会帮助你。我让你修改它以符合你的要求。玩得开心 玩得开心 var d=新日期(); var curr_date=d.getDate(); var curr_month=d.getMonth()+1//月份是以零为基础的 var curr_

在我的日期选择器中,日期将以mm/dd/yyyy格式插入。但在我插入后,我希望它以yyyy-mm-dd格式发送。我正在使用JavaScript来实现这一点。但我没能做到。那我该怎么办

谢谢和问候,
Chiranthaka

我为我的网站做了相反的事情,但它可能会帮助你。我让你修改它以符合你的要求。玩得开心

玩得开心

var d=新日期();
var curr_date=d.getDate();
var curr_month=d.getMonth()+1//月份是以零为基础的
var curr_year=d.getFullYear();
如果(当前月<10)
当前月份=“0”+当前月份;
如果(当前日期<10)
当前日期=“0”+当前日期;
var curr_date_format=curr_date+“/”+curr_month+“/”+curr_year;

我为我的网站做了相反的事情,但它可能会帮助你。我让你修改它以符合你的要求。玩得开心

玩得开心

var d=新日期();
var curr_date=d.getDate();
var curr_month=d.getMonth()+1//月份是以零为基础的
var curr_year=d.getFullYear();
如果(当前月<10)
当前月份=“0”+当前月份;
如果(当前日期<10)
当前日期=“0”+当前日期;
var curr_date_format=curr_date+“/”+curr_month+“/”+curr_year;

您也可以使用正则表达式:

var convertDate = function(usDate) {
  var dateParts = usDate.split(/(\d{1,2})\/(\d{1,2})\/(\d{4})/);
  return dateParts[3] + "-" + dateParts[1] + "-" + dateParts[2];
}

var inDate = "12/06/2013";
var outDate = convertDate(inDate); // 2013-12-06

该表达式也适用于一位数的月份和天数。

您也可以使用正则表达式:

var convertDate = function(usDate) {
  var dateParts = usDate.split(/(\d{1,2})\/(\d{1,2})\/(\d{4})/);
  return dateParts[3] + "-" + dateParts[1] + "-" + dateParts[2];
}

var inDate = "12/06/2013";
var outDate = convertDate(inDate); // 2013-12-06

该表达式也适用于个位数的月和日。

为Christof R的解决方案添加了更多内容(谢谢!使用了它!),以允许MM-DD-YYYY(-除了/),甚至MM-DD-YYYY。正则表达式中的细微变化

var convertDate = function(usDate) {
  var dateParts = usDate.split(/(\d{1,2})[\/ -](\d{1,2})[\/ -](\d{4})/);
  return dateParts[3] + "-" + dateParts[1] + "-" + dateParts[2];
}

var inDate = "12/06/2013";
var outDate = convertDate(inDate); // 2013-12-06

正如Christof R所说:这也适用于一位数的日和月。

为Christof R的解决方案添加更多内容(谢谢!使用了!),以允许MM-DD-YYYY(-除了/)甚至MM-DD-YYYY。正则表达式中的细微变化

var convertDate = function(usDate) {
  var dateParts = usDate.split(/(\d{1,2})[\/ -](\d{1,2})[\/ -](\d{4})/);
  return dateParts[3] + "-" + dateParts[1] + "-" + dateParts[2];
}

var inDate = "12/06/2013";
var outDate = convertDate(inDate); // 2013-12-06
 // format from M/D/YYYY to YYYYMMDD
 Date.prototype.yyyymmdd = function() {
    var yyyy = this.getFullYear();
    var mm = this.getMonth() < 9 ? "0" + (this.getMonth() + 1) : (this.getMonth() + 1); // getMonth() is zero-based
    var dd = this.getDate() < 10 ? "0" + this.getDate() : this.getDate();
    return "".concat(yyyy).concat(mm).concat(dd);
  };

var siku = new Date();
document.getElementById("day").innerHTML = siku.yyyymmdd();
正如Christof R所说:这也适用于一位数的日和月。

//格式从M/D/YYYY到YYYYMMDD
 // format from M/D/YYYY to YYYYMMDD
 Date.prototype.yyyymmdd = function() {
    var yyyy = this.getFullYear();
    var mm = this.getMonth() < 9 ? "0" + (this.getMonth() + 1) : (this.getMonth() + 1); // getMonth() is zero-based
    var dd = this.getDate() < 10 ? "0" + this.getDate() : this.getDate();
    return "".concat(yyyy).concat(mm).concat(dd);
  };

var siku = new Date();
document.getElementById("day").innerHTML = siku.yyyymmdd();
Date.prototype.yyyymmdd=函数(){ var yyyy=this.getFullYear(); var mm=this.getMonth()<9?“0”+(this.getMonth()+1):(this.getMonth()+1);//getMonth()是基于零的 var dd=this.getDate()<10?“0”+this.getDate():this.getDate(); 返回“.concat(yyyy).concat(mm).concat(dd); }; var siku=新日期(); document.getElementById(“day”).innerHTML=siku.yyyymmdd();
//格式从M/D/YYYY到YYYYMMDD
Date.prototype.yyyymmdd=函数(){
var yyyy=this.getFullYear();
var mm=this.getMonth()<9?“0”+(this.getMonth()+1):(this.getMonth()+1);//getMonth()是基于零的
var dd=this.getDate()<10?“0”+this.getDate():this.getDate();
返回“.concat(yyyy).concat(mm).concat(dd);
};
var siku=新日期();
document.getElementById(“day”).innerHTML=siku.yyyymmdd();

请向我们展示您尝试过的内容。这是我尝试过的$(“#to#u date,#from#date”)。日期选择器({maxDate:new date(),dateFormat:'yyyy-mm-dd');但在这里日期是20142014-07-10。它重复了一年。如果我将其更改为yy-mm-dd,则将日期改为2014-07-10。这就是我想要的。但当我在Google Analytics Dashboard中使用它时,它会给我一个关于使用正则表达式的错误。这意味着日期格式未被识别为正确的格式。那么你怎么看呢?我使用的源代码是
$(“#to_date,#from_date”).datepicker({maxDate:new date(),dateFormat:'yyyy-mm-dd')基于这个SO问题,我使用datepicker formatDate获取yyyy mm dd:dateObject=$(“#datepicker”).datepicker('getDate');var dateString=$.datepicker.formatDate('yy-mm-dd',dateObject);请注意,格式说明符仅使用yy来获取四位数的日期,例如2017-02-07当我使用yyyy时,我获得了两次年份,如20172017-02-07。请向我们展示您的尝试。这是我尝试的$(“#to#u date,#from#date”)。日期选择器({maxDate new date date(),dateFormat:'yyyyy-mm-dd'));                                                           但在这里日期是20142014-07-10。它重复了一年。如果我将其更改为yy-mm-dd,则将日期改为2014-07-10。这就是我想要的。但当我在Google Analytics Dashboard中使用它时,它会给我一个关于使用正则表达式的错误。这意味着日期格式未被识别为正确的格式。那么你怎么看呢?我使用的源代码是
$(“#to_date,#from_date”).datepicker({maxDate:new date(),dateFormat:'yyyy-mm-dd')基于这个SO问题,我使用datepicker formatDate获取yyyy mm dd:dateObject=$(“#datepicker”).datepicker('getDate');var dateString=$.datepicker.formatDate('yy-mm-dd',dateObject);请注意,格式说明符仅使用yy来获取四位数的日期,例如2017-02-07当我使用yyyy时,我获得了两次年份,正如在20172017-02-07中我使用JQuery日期选择器来插入日期一样。那我该怎么办呢?我想加油然后结账。或者我还没有完全理解您要做什么。这不是关于输入当前日期。这是关于以mm/dd/yyyy格式输入日期,但它应该以yyy-mm-yy格式传递到相应的函数。因为Google Analytics只支持这种格式。我使用JQuery日期选择器来插入日期。那我该怎么办呢?我想加油然后结账。或者我还没有完全理解您要做什么。这不是关于输入当前日期。这是关于以mm/dd/yyyy格式输入日期,但它应该以yyy-mm-yy格式传递到相应的函数。因为Google Analytics只支持这种格式。虽然这可能是解决问题的一个有价值的提示,但一个好的答案也可以说明解决方案。请提供示例代码来说明您的意思。或者,考虑把这个写为一个Co。