Funções de Manipulação de Data e Hora em Java Script


Olá pessoal!

Finalizando a série de posts que reproduzi do site MSPC – Informações Técnicas, finalizo neste último post com este sobre manipulação de data e hora no Java Script. O site tem um material bem rico e recomendo a visita.

Observações

1-) Parâmetros indicados entre parênteses são opcionais.2-) UTC (Coordinated Universal Time) é o padrão atual de tempo de acordo com os fusos horários. É continuação moderna do GMT (Greenwich Mean Time). Algumas vezes são considerados sinônimos, mas rigorosamente não são.

3-) Algumas funções (obsoletas ou de pouco uso) de data e hora não são apresentadas.

O objeto Date()

Permite trabalhar com datas e horas. Pode ser criado por uma das formas abaixo:

            new Date()
            new Date(ms)
            new Date(string_de_data)
            new Date(nAno, nMês, nDia [, nHora, nMin, nSeg, nMs] )

A data é dada em milissegundos, a partir de 00:00:00 h GMT de 01 de janeiro de 1970.

Se nenhum parâmetro é fornecido (primeira forma), são assumidas a data e hora locais, isto é, do computador que executa o script.

Parâmetros:

ms: milissegundos desde a data inicial dada acima.

string_de_data: uma seqüência de caracteres em um formato suportado. Exemplo: “Mon, 27 Dec 2004 12:00:00 GMT”.

nAno, nMês, nDia, etc: valores inteiros representando partes da data. Exemplo: Janeiro 0, Fevereiro 1, etc.

Exemplo de aplicação 1: a variável intervalo armazena o tempo de execução em milissegundos das outras instruções.

            tempo_1 = new Date();
            // outras instruções
            tempo_2 = new Date();
            intervalo = tempo_2 - tempo_1

Exemplo de aplicação 2: este é um exemplo dinâmico, que atualiza o objeto Date() a cada segundo, permitindo um relógio na tela em vez da simples hora e data do carregamento da página.

O script abaixo deve estar entre <head> e </head> da página:

            <script language="JavaScript">
            
            function DataHora(){
            var data = new Date();
            tempo.innerHTML = data;
            setTimeout("DataHora()",1000)
            }
            </script>

O código seguinte deve estar dentro de <body>:

onLoad="DataHora()"

E este no corpo da página (entre <body> e </body>):

<span id=tempo></span>

E o resultado é:

Thu May 21 2015 14:26:29 GMT-0300 (Hora oficial do Brasil)

É evidente que os nomes aparecem em inglês. Para outra língua, mais códigos são necessários.

 

getDate()

Retorna um número inteiro entre 1 e 31, que representa o dia do mês do objeto Date.Exemplo: a variável dia contém dia do mês da data atual.

            data = new Date();
            dia = data.getDate();

getDay()

Retorna um número inteiro do dia da semana. Domingo 0, segunda 1, terça 2, etc.Exemplo: a variável dia_semana contém o dia da semana da data atual.

            data = new Date();
            dia_semana = data.getDay();

getFullYear()

Retorna o ano do objeto Date em números absolutos, por exemplo 1998.Exemplo: a variável ano contém o ano da data atual.

            data = new Date();
            ano = data.getFullYear();

getHours()

Retorna a hora do objeto Date, um número inteiro entre 0 e 23.Exemplo:

            data = new Date();
            hora = data.getHours();

getMilliseconds()

Retorna os milissegundos do objeto Date, um inteiro entre 0 e 999.Exemplo:

            data = new Date();
            ms = data.getMilliseconds();

getMinutes()

Retorna os minutos do objeto Date, um inteiro entre 0 e 59.Exemplo:

            data = new Date();
            min = data.getMinutes();

getMonth()

Retorna o mês do objeto Date, um inteiro entre 0 e 11 (0 janeiro, 1 fevereiro, etc).Exemplo:

            data = new Date();
            mes = data.getMonth();

getSeconds()

Retorna os segundos do objeto Date, um número inteiro entre 0 e 59.Exemplo:

            data = new Date();
            seg = data.getSeconds();

getTime()

Retorna o número de milissegundos da data conforme informado no primeiro tópico. Em geral usado para especificar a data e hora de um outro objeto Date.Exemplo:

            certo_dia = new Date("May 15, 1998");
            outro_dia = new Date();
            outro_dia.setTime(certo_dia.getTime());

getTimezoneOffset()

Retorna a diferença, em minutos, entre a hora local e a hora GMT.Exemplo:

            data = new Date();
            dif_gmt_horas = data.getTimezoneOffset() / 60;

Date.parse(string_de_data)

Retorna o número de milissegundos de uma seqüência de caracteres (string) de data, desde 01 de janeiro de 1970 00:00:00 h (hora local).A string de data deve estar dentro do padrão aceito. Exemplo: Tue, 28 Dec 2004 11:00:00 GMT-0330. Se não especificado o fuso horário, o horário local é considerado.Deve sempre ser usado na forma Date.parse() e não com um objeto Date criado. Em geral usado com setTime() para especificar uma nova data para o objeto.

Exemplo:

            data = new Date();
            data.setTime(Date.parse("Apr 15, 2004"));

setDate(nDia)

Especifica um dia do mês para um objeto Date. nDia deve ser um inteiro entre 1 e 31, de acordo com o mês corrente.Exemplo:

            certo_dia = new Date("May 15, 1998");
            certo_dia.setDate(25);

setFullYear(nAno [, nMes, nDia])

Especifica um ano (em 4 dígitos) para um objeto date existente. nAno é um inteiro de 4 dígitos representando o ano, nMes um inteiro de 0 a 11 para o mês (0 janeiro, 1 fevereiro, etc) e nDia um inteiro de 1 a 31 para o dia do mês. Se é dado um valor para nDia, é obrigatório um valor para nMes.Se um parâmetro é especificado fora da faixa, a função tenta atualizar os demais de forma coerente. Exemplo: se um valor de 15 é dado para nMes, o ano é aumentado de 1 e o valor 4 é usado para nMes.Exemplo:

            certo_dia = new Date();
            certo_dia.setFullYear(1995);

setHours(nHora [, nMin, nSeg, nMs])

Especifica a hora para um objeto Date. nHora é um inteiro entre 0 e 23. Os demais parâmetros são opcionais: nMin (inteiro entre 0 e 59), nSeg (inteiro entre 0 e 59) e nMs (inteiro entre 0 e 999 para os milissegundos). Se nSeg é fornecido, nMin também deve ser dado. Se nMs é especificado, nMin e nSeg também devem ser.Se um parâmetro é especificado fora da faixa, a função tenta atualizar os demais de forma coerente. Exemplo: se 70 é dado para nMin, a hora é aumentada de 1 e 10 é usado para nMin.Exemplo:

            certo_dia = new Date();
            certo_dia.setHours(10);

setMilliseconds(nMs)

Especifica os milissegundos para um objeto Date. nMs deve ser um inteiro entre 0 e 999.Se nMs é dado fora da faixa, o objeto Date é atualizado de forma coerente. Exemplo: se nMs é 1100, os segundos são aumentados de 1 e 100 é usado para os milissegundos.Exemplo:

            certo_dia = new Date();
            certo_dia.setMilliseconds(500);

setMinutes(nMin [, nSeg, nMs])

Especifica os minutos para um objeto Date. nMin deve ser um inteiro entre 0 e 59. Os demais parâmetros são opcionais: nSeg (inteiro entre 0 e 59) e nMs (inteiro entre 0 e 999 para os milissegundos). Se nSeg é especificado, nMin também deve ser. Se nMs é dado, nMin e nSeg também devem ser.Se um parâmetro é dado fora da faixa, a função tenta atualizar os demais de forma coerente. Exemplo: se nSeg é 80, os minutos são aumentados de 1 e 20 é usado para os segundos.Exemplo:

            certo_dia = new Date();
            certo_dia.setMinutes(25);

setMonth(nMes [, nDia])

Especifica o mês de um objeto Date. nMes deve ser um inteiro entre 0 e 11 (0 janeiro, 1 fevereiro, etc). nDia é um parâmetro opcional para o dia do mês (inteiro entre 0 e 31).Se um parâmetro é dado fora da faixa, a função tenta atualizar o objeto de forma coerente. Exemplo: se 12 é dado para o mês, o ano é aumentado de 1 e 1 é usado para o mês.Exemplo:

            certo_dia = new Date();
            certo_dia.setMonth(4);

setSeconds(nSeg [, nMs])

Especifica os segundos de um objeto Date. nSeg deve ser um inteiro entre 0 e 59. nMs é um parâmetro opcional para os milissegundos (inteiro entre 0 e 999).Se um parâmetro é dado fora da faixa, a função tenta atualizar o objeto de forma coerente. Exemplo: se 70 é dado para nSeg, os minutos são aumentados de 1 e 10 é usado para os segundos.Exemplo:

            certo_dia = new Date();
            certo_dia.setSeconds(15);

setTime(nMs)

Especifica um valor para o objeto Date. nMs é um inteiro correspondente ao número de milissegundos desde 01 de janeiro de 1970 00:00:00 h.Exemplo:

            certo_dia = new Date("May 15, 1998");
            outro_dia = new Date();
            outro_dia.setTime(certo_dia.getTime());

toLocaleString()

Retorna uma seqüência de caracteres (string) de data, com formato definido pelas configurações do sistema operacional.Exemplo:

            <script language="JavaScript">
            var d = new Date();
            document.write(d.toLocaleString());
            </script>

E o resultado desse script é:

21/05/2015 14:17:59

Se o seu sistema operacional não é inglês configurado para o padrão americano, notar a diferença com o exemplo dado no primeiro tópico, O objeto Date().

toUTCString()

Retorna uma string formatada de acordo com a convenção UTC. Pode variar de acordo com o sistema operacional.Exemplo:

            data = new Date();
            var str = data.toUTCString();


Date.UTC(nA, nM, nD [, nHora, nMin, nSeg, nMs])

Retorna o número de milissegundos desde 01 de janeiro de 1970 00:00:00 h, hora universal.nA: ano depois de 1900. nM: inteiro de 0 a 11 para o mês. nD: inteiro de 1 a 31 para o dia do mês. nHora: inteiro de 0 a 23 para as horas. nMin: inteiro de 0 a 59 para os minutos. nSeg: inteiro de 0 a 59 para os segundos. nMs: inteiro de 0 a 999 para os milissegundos.Se um parâmetro for dado fora da faixa, a função tenta ajustar os demais de forma coerente. Exemplo: se 12 é usado para mês, ano é incrementado de 1 e 1 é usado para mês.

Deve sempre ser usado na forma Date.UTC(…) e não com um objeto Date criado.

Exemplo:

data_utc = new Date(Date.UTC(2004, 11, 15, 12, 0, 0));

fonte: http://www.mspc.eng.br/info/jscriptDataHora.shtml

Sobre Mastigado
Sou um daqueles que precisa mudar o mundo.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: