输入后,将日期格式从mm / dd / yyyy转换为yyyy-mm-dd格式

时间:2014-07-24 11:24:08

标签: javascript

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

谢谢&问候, Chiranthaka

4 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:0)

我为我的网站做了相反的事情,但它可能对你有帮助。我让你修改它以适应你的需求。玩得开心!

getDate

getMonth

getFullYear

享受W3Schools

的乐趣
var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1; //Months are zero based
var curr_year = d.getFullYear();

if(curr_month < 10)
curr_month = "0"+curr_month;
if(curr_date < 10)
curr_date = "0"+curr_date;
var curr_date_format = curr_date+"/"+curr_month+"/"+curr_year;

答案 2 :(得分:0)

为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所说:这也适用于个位数日和月。

答案 3 :(得分:-1)

 // 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();
相关问题