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

Métodos de obtenção e extensão de funções de tempo em js

Função Date interna

var mydate = new Date();
mydate.getYear(); //Obter o ano atual (2ª)
mydate.getFullYear(); //Obter o ano completo (4posição,1970-????)
mydate.getMonth(); //obter o mês atual(0-11,0 representa1mês)
mydate.getDate(); //obter o dia atual(01-31)
mydate.getDay(); //obter o dia da semana atual(0-6,0 representa domingo)
mydate.getTime(); //obter a hora atual(desde1970.1.1milissegundos de início)
mydate.getHours(); //obter a hora atual(0-23)
mydate.getMinutes(); //obter o minuto atual(0-59)
mydate.getSeconds(); //obter o segundo atual(0-59)
mydate.getMilliseconds(); //obter o milissegundo atual(0-999)
mydate.toLocaleDateString(); //obter a data atual
var mytime=mydate.toLocaleTimeString(); //obter a hora atual
mydate.toLocaleString( ); //obter data e hora

funções de extensão

Date.prototype.isLeapYear juliano
Date.prototype.Format formatação de data
Date.prototype.DateAdd cálculo de data
Date.prototype.DateDiff comparação da diferença de datas
Date.prototype.toString conversão de data para string
Date.prototype.toArray divisão da data em array
Date.prototype.DatePart informações parciais da data
Date.prototype.MaxDayOfDate dia máximo do mês da data
Date.prototype.WeekNumOfYear semana do ano da data
StringToDate conversão de string para data
IsValidDate verificação da validade da data
CheckDateTime verificação completa de data e hora
daysBetween diferença de dias entre datas

//---------------------------------------------------
// juliano
//---------------------------------------------------
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 dia da 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());
return str;
}
//+---------------------------------------------------
//| Calcula a diferença em dias entre duas datas Formato de data: YYYY-MM-dd
//+---------------------------------------------------

{
5-);
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()) + Número, 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());
}
}
//+---------------------------------------------------
//| Comparação da 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 a string for convertida 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 da data, sobrecarga do método toString do sistema
//+---------------------------------------------------
Date.prototype.toString = function(showWeek)
{
var myDate= this;
var str = myDate.toLocaleDateString();
if (showWeek)
{
var Week = ['日','一','二','三','四','五','六'];
str += ' Semana' + Week[myDate.getDay()];
}
return str;
}
//+---------------------------------------------------
//| Verificação da validade da data
//| Formato: YYYY-MM-DD ou YYYY/MM/DD
//+---------------------------------------------------
function IsValidDate(DateStr)
{
var sDate=DateStr.replace/(^\s+|\s+$)/g,''); //Remover espaços em branco;
if(sDate=='') return true;
//Se o formato atender a YYYY-(/)MM-(/)DD ou YYYY-(/)M-(/)DD ou YYYY-(/)M-(/)D ou YYYY-(/)MM-(/)D substituirá por ''
//No banco de dados, a data válida pode ser: YYYY-MM/DD(2003-3/21), o banco de dados o converterá automaticamente para YYYY-MM-DD formato
var s = sDate.replace(',/[\d]{ 4,4 }[\-/}] 1 }[\d]{ 1,2 }[\-/}] 1 }[\d]{ 1,2 }/g,'');
if (s=='') //Anotação: O formato deve atender a YYYY-MM-DD ou YYYY-M-DD ou YYYY-M-D ou YYYY-MM-D
{
var t=new Date(sDate.replace(',/\-/g,'/);
var ar = sDate.split(',/[-/:]/);
if(ar[0] != t.getYear() || ar[1] != t.getMonth())+1 || ar[2] != t.getDate())
{
//alert('Formato de data inválido! Formato: YYYY-MM-DD ou YYYY/MM/DD. Atente para os anos bissextos.);
return false;
}
}
else
{
//alert('Formato de data inválido! Formato: YYYY-MM-DD ou YYYY/MM/DD. Atente para os anos bissextos.);
return false;
}
return true;
}
//+---------------------------------------------------
//| Verificação de data e hora
//| Formato: YYYY-MM-DD HH:MM:SS
//+---------------------------------------------------
function CheckDateTime(str)
{
var reg = /^(\d+)-(\d{ 1,2 })-(\d{ 1,2 }) (\d{ 1,2 }):(\d{ 1,2 }):(\d{ 1,2 })$/;
var r = str.match(reg);
if(r==null)return false;
r[2]=r[2]-1;
var d= new Date(r[1],r[2],r[3],r[4],r[5],r[6]);
if(d.getFullYear()!=r[1})return false;
if(d.getMonth()!=r[2})return false;
if(d.getDate()!=r[3})return false;
if(d.getHours()!=r[4})return false;
if(d.getMinutes()!=r[5})return false;
if(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;
}
//+---------------------------------------------------
//| Obtém 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;
}
//+---------------------------------------------------
//| Determina o número máximo de dias do mês atual
//+---------------------------------------------------
Date.prototype.MaxDayOfDate = function()
{
var myDate = this;
var ary = myDate.toArray();
var date1 = (new Date(ary[0],ary[1]+1,1))++;
var date2 = date1.dateAdd(1,'m',1);
var result = dateDiff(date1.Format('yyyy-MM-dd'),date2.Format('yyyy-MM-dd'));
return result;
}
//+---------------------------------------------------
//| Determina a semana do ano em que a data atual está
//+---------------------------------------------------
Date.prototype.WeekNumOfYear = function()
{
var myDate = this;
var ary = myDate.toArray();
var year = ary[0];
var month = ary[1]+1;
var day = ary[2];
document.write('< script language=VBScript\> \n');
document.write('myDate = DateValue('+month+'-'+day+'-'+year+'') \n');
document.write('result = DatePart('ww', myDate) \n');
document.write(' \n');
return result;
}
//+---------------------------------------------------
//| Conversão de string para tipo de data
//| Formato 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 delimChar = DateStr.indexOf('/')!=-1?'/':'-';
var arys= DateStr.split('-');
myDate = new Date(arys[0],--arys[1],arys[2]);
}
return myDate;
} 

Isso é tudo que o editor trouxe para você sobre os métodos de obtenção de tempo e funções de expansão do JavaScript, esperamos que você apoie e grite o tutorial!

Você também pode gostar