如何在JavaScript中定义和操作日期变量?

如何在JavaScript中定义和操作日期变量?,javascript,Javascript,我需要将Date对象用于三种不同的用途,我可以按如下方式执行此操作吗 我对JavaScript非常陌生,所以我不确定以下定义是否适用于所有浏览器 Date.prototype.yyyymmdd = function() { var yyyy = this.getFullYear().toString(); var mm = (this.getMonth()+1).toString(); var dd = this.getDate().toString();

我需要将
Date
对象用于三种不同的用途,我可以按如下方式执行此操作吗

我对JavaScript非常陌生,所以我不确定以下定义是否适用于所有浏览器

Date.prototype.yyyymmdd = function() 
{
  var yyyy = this.getFullYear().toString();    
  var mm = (this.getMonth()+1).toString(); 
  var dd  = this.getDate().toString();    
  return yyyy+"-" + (mm[1]?mm:"0"+mm[0])+"-" + (dd[1]?dd:"0"+dd[0]); 

}; 

Date.prototype.mmddyyyy = function() 
{
  var yyyy = this.getFullYear().toString();    
  var mm = (this.getMonth()+1).toString(); 
  var dd  = this.getDate().toString();    

  return (mm[1]?mm:"0"+mm[0])+"-" + (dd[1]?dd:"0"+dd[0])+"-" + yyyy; 
}; 

Date.prototype.mmdd = function() 
{
   var yyyy = this.getFullYear().toString();    
   var mm = (this.getMonth()+1).toString(); 
   var dd  = this.getDate().toString();    
   return (mm[1]?mm:mm[0])+"/" + (dd[1]?dd:dd[0]);
};


var d0 = new Date();
console.log(d0.mmddyyyy);

var d1 = new Date();
console.log(d1.yyyymmdd);

var d2 = new Date();
console.log(d2.mmdd);

您刚刚错过了括号-它应该在任何浏览器中运行(但如果console不受支持或在IE8中打开,则当前将失败)

我个人更喜欢一个原型

:

Date.prototype.formatDate=函数(fmt){
fmt=fmt | |“yyyymmdd”;
var yyyy=this.getFullYear();
var mm=this.getMonth()+1;

如果…非常聪明…我明天会让你知道的。
var d0 = new Date();
console.log(d0.mmddyyyy());

var d1 = new Date();
console.log(d1.yyyymmdd());

var d2 = new Date();
console.log(d2.mmdd());
Date.prototype.formatDate=function(fmt) {
  fmt = fmt || "yyyymmdd";
  var yyyy = this.getFullYear();    
  var mm = this.getMonth()+1;
  if (mm<10) mm="0"+mm;
  var dd  = this.getDate();    
  if (dd<10) dd="0"+dd;  
  if (fmt==="yyyymmdd") return yyyy+"-" + mm+"-" + dd;
  if (fmt==="mmddyyyy") return ""+mm+"-" + dd +"-" + yyyy;
  if (fmt==="mmdd")  return ""+mm+"/"+dd;
};


var d0 = new Date();
console.log(d0.formatDate("mmddyyyy"));
console.log(d0.formatDate("yyyymmdd"));
console.log(d0.formatDate("mmdd"));