Trabalhando com datas e horas no ASP – Date() – Now() – Time() e FormatDateTime()
Bom dia computêros, quando estamos desenvolvemos um sistema provavelmente em algum momento precisaremos trabalhar com datas e/ou horas, este artigo tem como objetivo ajudar os usuários a como trabalharem com as funções as funções para manipulação de datas que o ASP dispõe.
Antes de mais nada recomendo que leia o artigo sobre Session.LCID para que possamos dar prosseguimento ao tutorial sem maiores problemas sobre configurações regionais e padrões de datas.
Obs: Vale lembrar que a data e a hora impressa pelo ASP trata-se do servidor e não da máquina cliente, já que as páginas ASP são manipuladas no servidor!
- Retornando a data e a hora do servidor
Date() – Imprimindo a data atual
O retorno da data do servidor ocorre através da função Date().
Response.Write(Date())
Time() – Imprimindo a hora atual
O retorno da hora do servidor ocorre através da função Time().
Response.Write(Time())
Now() – Imprimindo a data e a hora atual
Embora possamos usar em conjunto as funções Date() e Time() para imprimirmos a data e a hora atual do servidor não é necessário, pois o ASP dispõe de uma função que faz exatamente isto, chamada Now().
Response.Write(Now())
Agora que já sabemos como retornar a data atual do sistema, vamos começar a manipulá-la de acordo com as nossas necessidades:
- Manipulação de Datas
Day(date) – Retornando somente o dia:
Response.Write(Day(Date()))
Month(date) – Retornando somente o mês:
Response.Write(Month(Date()))
Year(date) – Retornando somente o ano:
Response.Write(Year(Date()))
MonthName(month[,abbreviate]) – Retornando o nome do mês
Esta função tem uma peculiaridade, para sabermos o nome do mês devemos informar um número inteiro correspondente ao mês, como por exemplo, 1 para janeiro, 2 para fevereiro, 3 para Março e assim por diante. Como a função Month() retorna este número estamos utilizando-a para que siga a idéia do mês atual do servidor.
Response.Write(MonthName(Month(Date())))
Para o nome do mês abreviado devemos indicar o segundo parâmetro (abreviate) como True na função MonthName()
Response.Write(MonthName(Month(Date()),True))
Weekday(date[,firstdayofweek]) – Retornando o dia da semana
Esta função irá retornar o dia da semana (em inteiro) de acordo com a data informada como parâmetro.
Response.Write(WeekDay(Date()))
WeekdayName(weekday[,abbreviate[,firstdayofweek]]) – Retornando o nome do dia da semana
Como a função MonthName() ela necessita do parâmetro inteiro para exibir o nome do dia da semana
Response.Write(WeekDayName(WeekDay(Date())))
Nesta função também podemos retornar o nome do dia da semana abreviado
Response.Write(WeekDayName(WeekDay(Date()),true))
- Manipulação de Horas:
Hour(time) – Retornando somente a hora
Response.Write(Hour(Time()))
Minute(time) – Retornando somente o minuto
Response.Write(Minute(Time()))
Second(time) – Retornando somente os segundos
Response.Write(Second(Time()))
- IsDate(expression) - Verificando se uma expressão é uma data
Response.Write(isDate("18/12/2009")) 'retorna true
Response.Write(isDate("32/12/2009")) 'retorna false
Response.Write(isDate("Computêro!")) 'retorna false
- CDate(date) – Convertendo String em data e/ou hora
Response.Write(CDate("18/12/2009"))
Response.Write(CDate("18:12"))
- DateAdd(interval,number,date) – Criando uma nova data a partir de outra
Para entendermos melhor vamos começar com o terceiro parâmetro, date, é a data a qual é a referência para a criação.
O primeiro parâmetro interval indica qual é o intervalor que criaremos para a nova data, seus possíveis valores seguem a lista abaixo:
yyyy – Year
q – Quarter
m – Month
y – Day of year
d – Day
w – Weekday
ww – Week of year
h – Hour
n – Minute
s – Second
O segundo parâmetro, number, refere-se a quantidade do intervalo que iremos criar.
Exemplos:
Retornando a data de 28 dias a partir da data atual
Response.Write(DateAdd("d",28,Date()))
Retornando a data de 30 semanas a partir da data atual
Response.Write(DateAdd("ww",30,Date()))
Retornando a hora de 5 horas atrás a partir da hora atual
Response.Write(DateAdd("h",-5,Time()))
- DateDiff(interval,date1,date2) – Descobrindo o intervalo entre datas
Esta função irá retornar o intervalo entre duas datas, lembrando que o parâmetro interval segue o modelo do exemplo anterior.
Descobrindo quantos dias de vida tem o blog:
Response.Write(DateDiff("d",CDate("25/03/2009"),date()))
Descobrindo quantas horas de vida tem o blog:
Response.Write(DateDiff("h",CDate("25/03/2009"),date()))
- FormatDateTime(date,format) – Fomatando os valores da data
Já sabemos como criar, manipular, converter, verificar, mas e como formatamos???
A função FormatDateTime() está aqui para isso, indicaremos a data que queremos formatar e qual será o seu formato.
| Constante | Valor | Descrição |
|---|---|---|
| vbGeneralDate | 0 | Exibe a data no formato dd/mm/yyyy. Se utilizar o comando Now() a hora será exibida após a data. – Ex: 26/8/2009 10:22:44 |
| vbLongDate | 1 | Exibe a data utilizando um formato longo. Dia da semana, dia , nome do mês, ano – Ex: quarta-feira, 26 de agosto de 2009 |
| vbShortDate | 2 | Exibe a data em um fomato curto dd/mm/yyyy – Ex:26/8/2009 |
| vbLongTime | 3 | Exibe a hora no formato hh:mm:ss PM/AM – Ex:10:24:30 |
| vbShortTime | 4 | Exibe a hora usando 24horas no formato: hh:mm – Ex: 10:25 |
Referência: http://www.w3schools.com/VBscript/vbscript_ref_functions.asp
É isso aí computêros! Qualquer dúvida… Comentem!
nossa ficou muito bom esse post, a utilização de datas é tão simples que as vezes temos até duvidas de como usa-las, as vezes até por falta de uso, já que usamos raramente, o problema é que quando usamos já não nos lembramos de mais nada rsrsrs Adorei esse post