O Access fornece funções incorporadas que pode utilizar em expressões para formatar, criar, analisar e calcular datas e horas. Escolha uma tabela que corresponda ao que pretende fazer.
Quero...
- Apresentar uma data ou hora num formato específico
- Dividir uma data ou hora em partes
- Transformar números e texto em datas e horas
- Somar ou subtrair datas
- Inserir a data de hoje ou a hora atual
Apresentar uma data ou hora num formato específico
Apresentar datas no formato pretendido. A coluna Resultado pressupõe que o campo [StartDate] contém o valor Data/Hora de 11 de janeiro de 2012 17:30:15.
| Função | Utilize | Exemplo | Resultado |
|---|---|---|---|
| Formatar* | Função de formato para todos os fins utilizada para criar formatos de Data/Hora personalizados. | Format([StartDate],"aaaa-mm-dd") | 2012-01-11 |
| FormatDateTime* | Aplica um dos cinco formatos de Data/Hora incorporados a um valor. | FormatDateTime([StartDate],vbLongDate) | Quarta-feira, janeiro 11, 2012 |
| NomeDoUtilizador* | Converte um número num nome de mês. Devolve um erro se fornecer um número fora do intervalo de 1 a 12. | MonthName(12) | Dezembro |
| WeekdayName* | Converte um número num nome de dia da semana. Devolve um erro se fornecer um número fora do intervalo de 1 a 7. | WeekdayName(2) | Segunda-feira |
* Não disponível em aplicações Web do Access.
Dividir uma data ou hora em partes
Por vezes, só precisa de saber uma parte de um valor de Data/Hora, como o ano ou o minuto. Todas estas funções devolvem valores inteiros que correspondem ao intervalo que procura. A coluna Resultado pressupõe que [DataDeInício] contém o valor Data/Hora de 11 de janeiro de 2012 17:30:15.
| Função | Utilize | Exemplo | Resultado |
|---|---|---|---|
| Ano | Devolve a parte do ano do valor Data/Hora. | Year([StartDate]) | 2012 |
| Mês | Devolve a parte mensal do valor Data/Hora (1 a 12). | Month([StartDate]) | 1 |
| Dia | Devolve a parte do dia do valor Data/Hora (1 a 31). | Day([StartDate]) | 11 |
| Dia da semana* | Devolve o dia numérico da semana (1 a 7). Por predefinição, domingo é considerado o primeiro dia da semana, mas pode especificar um dia diferente como o primeiro dia. | Weekday([StartDate]) | 4 |
| Hora* | Devolve a parte da hora do valor Data/Hora (0 a 23). | Hour([StartDate]) | 17 |
| Minuto* | Devolve a parte dos minutos do valor Data/Hora (0 a 59). | Minute([StartDate]) | 30 |
| Segundo* | Devolve a parte de segundos do valor Data/Hora (0 a 59). | Second([StartDate]) | 15 |
| PartData | Uma versão configurável das funções acima, onde pode especificar que parte do valor de Data/Hora pretende. | DatePart("yyyy",[StartDate]) | 2012 |
* Não disponível nas aplicações do Access.
Transformar números e texto em datas e horas
O Access armazena datas como números de vírgula flutuante de precisão dupla. Por exemplo, 11 de janeiro de 2012 17:30 é armazenado como 40919.72917. A parte de número inteiro, à esquerda da vírgula decimal, representa a data. A parte fracionária, à direita da vírgula decimal, representa a hora. Estas funções ajudam-no a criar este número de vírgula flutuante a partir de outros valores, como números inteiros ou texto.
| Função | Utilize | Exemplo | Resultado (Como o Access o armazena) |
|---|---|---|---|
|
DataSerial Nota: Numa aplicação do Access, utilize as funções DateFromParts ou DateWithTimeFromParts . |
Cria um valor de data a partir de números inteiros que fornece para o ano, mês e dia. | DateSerial(2012,1,11) | 40919.0 |
| CDate* | Converte texto num valor de Data/Hora. Processa a parte data e hora do número. Sugestão: Utilize afunção Booleano IsDate para determinar se uma cadeia de texto pode ser convertida num valor de Data/Hora. Por exemplo, IsDate("11/1/2012") devolve Verdadeiro. |
CDate("11/1/2012 17:30") | 40919.72917 |
| DateValue* | Converte texto num valor de Data/Hora, mas não converte a parte da hora. | DateValue("11/1/2012 17:30") | 40919.0 |
| TimeValue* | Converte texto num valor de Data/Hora, mas não converte informações de data. | TimeValue("11/1/2012 17:30") | 0.72917 |
|
SerieHora Nota: Numa aplicação do Access, utilize as funções TimeFromParts ou DateWithTimeFromParts . |
Cria um valor de tempo a partir de números inteiros que fornece para a hora, o minuto e o segundo. | TimeSerial(17,30,15) | 0.72934 |
* Não disponível nas aplicações do Access.
Somar ou subtrair datas
Estas funções permitem-lhe adicionar ou subtrair intervalos a datas, bem como calcular a diferença entre dois valores de Data/Hora.
| Função | Utilize | Exemplo | Resultado |
|---|---|---|---|
| SomData | Adiciona um intervalo específico (como 2 meses ou 3 horas) a um valor de Data/Hora. Para subtrair, utilize um número negativo como segundo argumento. | DateAdd("m", 1, "11/1/2012") | 2/11/2012 |
| DifData | Determina o número de intervalos de tempo (como dias ou minutos) entre dois valores de Data/Hora. Nota: Tenha em atenção que também pode subtrair um valor de data de outro para obter o número de dias entre eles, por exemplo, #15/2/2012# - #1/2/2012# = 14. |
DateDiff("d","11/1/2012","15/4/2012") | 95 |
Veja como calcular o número de dias entre duas datas.
Inserir a data de hoje ou a hora atual
Utilize estas funções para determinar a data ou hora atual. A coluna Resultado pressupõe que a data/hora do sistema atual é 11 de janeiro de 2012 17:30:15.
| Função | Utilize | Exemplo | Resultado |
|---|---|---|---|
| Agora | Devolve a data e hora atuais do sistema. | Agora() | 11/1/2012 17:30:15 |
|
Data Nota: Numa aplicação do Access, utilize a função Hoje . |
Devolve a data atual do sistema. | Data() | 1/11/2012 |
| Hora* | Devolve a hora atual do sistema. | Hora() | 17:30:15 |
| Temporizador* | Devolve o número de segundos decorridos desde a meia-noite. | Temporizador() | 63015 |
* Não disponível nas aplicações do Access.