English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Código para obter a data e hora atuais e formatar em JavaScript

Este artigo compartilha com vocês como obter a data e hora atuais em JavaScript e como formatá-las, detalhes如下

var myDate = new Date();
myDate.getYear();    //获取当前年份(2位)
myDate.getFullYear();  //获取完整的年份(4,1970-?63;63;63;)
myDate.getMonth();    //获取当前月份(0-11,0代表1月)
myDate.getDate();    //获取当前日(1-31)
myDate.getDay();     //获取当前星期X(0-6,0代表星期天)
myDate.getTime();    //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours();    //获取当前小时数(0-23)
myDate.getMinutes();   //获取当前分钟数(0-59)
myDate.getSeconds();   //获取当前秒数(0-59)
myDate.getMilliseconds();  //获取当前毫秒数(0-999)
myDate.toLocaleDateString();   //获取当前日期
var mytime=myDate.toLocaleTimeString();   //获取当前时间
myDate.toLocaleString( );    //获取日期与时间

日期时间脚本库方法列表
Date.prototype.isLeapYear 判断闰年
Date.prototype.Format 日期格式化
Date.prototype.DateAdd 日期计算
Date.prototype.DateDiff 比较日期差
Date.prototype.toString 日期转字符串
Date.prototype.toArray 日期分割为数组
Date.prototype.DatePart 取日期的部分信息
Date.prototype.MaxDayOfDate 取日期所在月的最大天数
Date.prototype.WeekNumOfYear 判断日期所在年的第几周
StringToDate 字符串转日期型
IsValidDate 验证日期有效性
CheckDateTime 完整日期时间检查
daysBetween 日期天数差 

js代码:

//--------------------------------------------------- 
// 判断闰年 
//--------------------------------------------------- 
Date.prototype.isLeapYear = function()  
{  
  return (0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0)));  
}  
//--------------------------------------------------- 
// Formatação de data 
// Formato YYYY/yyyy/YY/yy Representa o ano 
// MM/M Mês 
// W/w Semana 
// dd/DD/d/D Data 
// hh/HH/h/H Hora 
// mm/m Minutos 
// ss/SS/s/S Segundos 
//--------------------------------------------------- 
Date.prototype.Format = function(formatStr)  
{  
  var str = formatStr;  
  var Week = ['日','一','二','三','四','五','六']; 
  str=str.replace(/yyyy|YYYY/,this.getFullYear());  
  str=str.replace(/yy|YY/,(this.getYear() % 100)>9?(this.getYear() % 100).toString():'0' + (this.getYear() % 100));  
  str=str.replace(/MM/,this.getMonth()>9?this.getMonth().toString():'0' + this.getMonth());  
  str=str.replace(/M/g,this.getMonth());  
  str=str.replace(/w|W/g,Week[this.getDay()]);  
  str=str.replace(/dd|DD/,this.getDate()>9?this.getDate().toString():'0' + this.getDate());  
  str=str.replace(/d|D/g,this.getDate());  
  str=str.replace(/hh|HH/,this.getHours()>9?this.getHours().toString():'0' + this.getHours());  
  str=str.replace(/h|H/g,this.getHours());  
  str=str.replace(/mm/,this.getMinutes()>9?this.getMinutes().toString():'0' + this.getMinutes());  
  str=str.replace(/m/g,this.getMinutes());  
  str=str.replace(/ss|SS/,this.getSeconds()>9?this.getSeconds().toString():'0' +   
  str=str.replace(/s|S/g,this.getSeconds());  
  retorna str;  
}  
//+--------------------------------------------------- 
//| Calcula a diferença em dias entre duas datas no formato YYYY-MM-dd  
//+--------------------------------------------------- 
function daysBetween(DateOne, DateTwo) 
{  
  var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('- 
  var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1); 
  var OneYear = DateOne.substring(0,DateOne.indexOf ('- 
  var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('- 
  var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1); 
  var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('- 
  var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);  
  return Math.abs(cha); 
} 
//+--------------------------------------------------- 
//| Cálculo de datas 
//+--------------------------------------------------- 
Date.prototype.DateAdd = function(strInterval, Número) {  
  var dtTmp = this; 
  switch (strInterval) {  
    case 's' :return new Date(Date.parse(dtTmp) + (1000 * Número)); 
    case 'n' :return new Date(Date.parse(dtTmp) + (60000 * Número)); 
    case 'h' :return new Date(Date.parse(dtTmp) + (3600000 * Número)); 
    case 'd' :return new Date(Date.parse(dtTmp) + (86400000 * Número)); 
    case 'w' :return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Número)); 
    case 'q' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Número*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); 
    case 'm' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()))} + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); 
    case 'y' :return new Date((dtTmp.getFullYear() + Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); 
  } 
} 
//+--------------------------------------------------- 
//| Comparar a diferença de datas dtEnd no formato de data ou string de data válida 
//+--------------------------------------------------- 
Date.prototype.DateDiff = function(strInterval, dtEnd) {  
  var dtStart = this; 
  if (typeof dtEnd == 'string' )//Se for uma string, converta para tipo de data 
  {  
    dtEnd = StringToDate(dtEnd); 
  } 
  switch (strInterval) {  
    case 's' :return parseInt((dtEnd - dtStart) / 1000); 
    case 'n' :return parseInt((dtEnd - dtStart) / 60000); 
    case 'h' :return parseInt((dtEnd - dtStart) / 3600000); 
    case 'd' :return parseInt((dtEnd - dtStart) / 86400000); 
    case 'w' :return parseInt((dtEnd - dtStart) / (86400000 * 7)); 
    case 'm' :return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1); 
    case 'y' :return dtEnd.getFullYear() - dtStart.getFullYear(); 
  } 
} 
//+--------------------------------------------------- 
//| Stringa de saída de data, sobrecarrega o método toString do sistema 
//+--------------------------------------------------- 
Date.prototype.toString = function(showWeek) 
{  
  var myDate = this; 
  var str = myDate.toLocaleDateString(); 
  se(showWeek) 
  {  
    var Week = ['日','一','二','三','四','五','六']; 
    str += ' Semana' + Semana[myDate.getDay()]; 
  } 
  retorna str; 
} 
//+--------------------------------------------------- 
//| Verificação de validade da data 
//| Formato: YYYY-MM-/MM/DD 
//+--------------------------------------------------- 
  
{  
  var sDate = DateStr.replace(/(^\s+|\s+$)/g,''); //remova os espaços em branco;  
  se(sDate=='') return true;  
  //se a formatação satisfaz YYYY-(/)MM-(/)DD ou YYYY-(/)M-(/)DD ou YYYY-(/)M-(/)D ou YYYY-(/)MM-(/)D substitua por ''  
  //No banco de dados, a data válida pode ser: YYYY-MM/DD(2003-3/21), o banco de dados convertirá automaticamente para YYYY-MM-  
  var s = sDate.replace(/[\d]{ 4,4 [\-/}] 1 }[\d]{ 1,2 [\-/}] 1 }[\d]{ 1,2 }/g,'');  
  se(s=='') //A formatação satisfaz YYYY-MM--M--M-D ou YYYY-MM-  
  {  
    var t = new Date(sDate.replace(/\-/g,'/  
    var ar = sDate.split(/[-/]:]/);  
    se(ar[0] != t.getYear() || ar[1] != t.getMonth()+1 || ar[2] != t.getDate())  
    {  
      //alert('Formato de data inválido! Formato: YYYY-MM-/MM/DD. Atenção ao ano bissexto.')  
      retorna falso;  
    }  
  }  
  else  
  {  
    //alert('Formato de data inválido! Formato: YYYY-MM-/MM/DD. Atenção ao ano bissexto.')  
    retorna falso;  
  }  
  return true;  
}  
//+--------------------------------------------------- 
//| Verificação de data e hora 
//| Formato: YYYY-MM-DD HH:MM:SS 
//+--------------------------------------------------- 
function VerificarDataHora(str) 
{  
  var reg = /^(\d+)-(\d{ 1,2 })-(\d{ 1,2 }) (\d{ 1,2 }) (\d{ 1,2 }) (\d{ 1,2 })$/month = month  
  var r = str.match(reg);  
  se(r==null)retorna falso;  
  r[2]=r[2]-1month = month  
  var d = new Date(r[1],r[2],r[3],r[4],r[5],r[6  
  se(d.getFullYear() != r[1])return false;  
  se(d.getMonth() != r[2])return false;  
  se(d.getDate() != r[3])return false;  
  se(d.getHours() != r[4])return false;  
  se(d.getMinutes() != r[5])return false;  
  se(d.getSeconds() != r[6])return false;  
  return true;  
}  
//+--------------------------------------------------- 
//| Dividir a data em um array 
//+--------------------------------------------------- 
Date.prototype.toArray = function() 
{  
  var myDate = this; 
  var myArray = Array(); 
  myArray[0] = myDate.getFullYear(); 
  myArray[1] = myDate.getMonth(); 
  myArray[2] = myDate.getDate(); 
  myArray[3] = myDate.getHours(); 
  myArray[4] = myDate.getMinutes(); 
  myArray[5] = myDate.getSeconds(); 
  return myArray; 
} 
//+--------------------------------------------------- 
//| Obter informações de dados de data 
//| O parâmetro interval indica o tipo de dados 
//| y ano m mês d dia w semana ww semana h hora n minuto s segundo 
//+--------------------------------------------------- 
Date.prototype.DatePart = function(interval) 
{  
  var myDate = this; 
  var partStr=''; 
  var Week = ['日','一','二','三','四','五','六']; 
  switch (interval) 
  {  
    case 'y' :partStr = myDate.getFullYear();break; 
    case 'm' :partStr = myDate.getMonth()+1;break; 
    case 'd' :partStr = myDate.getDate();break; 
    case 'w' :partStr = Week[myDate.getDay()];break; 
    case 'ww' :partStr = myDate.WeekNumOfYear();break; 
    case 'h' :partStr = myDate.getHours();break; 
    case 'n' :partStr = myDate.getMinutes();break; 
    case 's' :partStr = myDate.getSeconds();break; 
  } 
  return partStr; 
} 
//+--------------------------------------------------- 
//| Obter o número máximo de dias do mês atual 
//+--------------------------------------------------- 
Date.prototype.MaxDayOfDate = function() 
{  
  var myDate = this; 
  var ary = myDate.toArray(); 
  var date1 data = (new Date(ary[0],ary[1]+1,1)); 
  var date2 data = date1.dateAdd(1,'m',1); 
  var result = dateDiff(date1.Format('yyyy-MM-dd'),date2.Format('yyyy-MM-dd')); 
  return result; 
} 
//+--------------------------------------------------- 
//| 取得当前日期所在周是一年中的第几周 
//+--------------------------------------------------- 
Date.prototype.WeekNumOfYear = function() 
{  
  var myDate = this; 
  var ary = myDate.toArray(); 
  var year = ary[0]; 
  var month = ary[1]+1month = month 
  var day = ary[2]; 
  document.write('< script language=VBScript\> \n'); 
  document.write('myDate = Datue(''+month+'-'+day+'-'+year+'') \n'); 
  document.write('result = DatePart('ww', myDate) \n'); 
  document.write(' \n'); 
  return result; 
} 
//+--------------------------------------------------- 
//| 字符串转成日期类型  
//| 格式 MM/dd/YYYY MM-dd-YYYY YYYY/MM/dd YYYY-MM-dd 
//+--------------------------------------------------- 
function StringToDate(DateStr) 
{  
  var converted = Date.parse(DateStr); 
  var myDate = new Date(converted); 
  if (isNaN(myDate)) 
  {  
    //var delimCahar = DateStr.indexOf('/')!=-1?'/':'-'; 
    var arys= DateStr.split('-'); 
    myDate = new Date(arys[0],--arys[1],arys[2 
  } 
  return myDate; 
} 

If you want to implement such a clock:
2012year12month 03day 17:21:16 Monday

 //loca clock
function clockon() {
  var now = new Date();
  var year = now.getFullYear(); //getFullYear getYear
  var month = now.getMonth();
  var date = now.getDate();
  var day = now.getDay();
  var day = now.getDay();
  var hour = now.getHours();
  var minu = now.getMinutes();
  var sec = now.getSeconds();
  var week; + 1month = month
  ; 10) month = "0" + month;
  if (date < 10) date = "0" + date;
  if (hour < 10) hour = "0" + hour;
  if (minu < 10) minu = "0" + minu;
  if (sec < 10) sec = "0" + sec;
  var arr_week = new Array("domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado");
  week = arr_week[day];
  var time = "";
  time = year + "ano" + month + "mês" + date + "dia" + " " + hour + : + minu + : + sec + " " + week;
  $("#bgclock").html(time);
  var timer = setTimeout("clockon()", 200);
}

Isso é tudo o que há no artigo. Esperamos que isso ajude na sua aprendizagem e que você apóie o tutorial Yell.

Declaração: O conteúdo deste artigo é de origem na internet, pertence ao autor original, foi submetido e carregado voluntariamente pelos usuários da internet. Este site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidade por eventuais responsabilidades legais. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie um e-mail para: notice#oldtoolbag.com (ao enviar e-mail, substitua # por @ para denunciar e forneça provas relevantes. Apenas após a verificação, o site deletará o conteúdo suspeito de violação de direitos autorais.>

Você também pode gostar