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 | Uso | 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 | Uso | 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 |
| DatePart | 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 | Uso | Exemplo | Resultado (Como o Access o armazena) |
|---|---|---|---|
|
DateSerial 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("1/11/2012") retorna True. |
CDate("11/11/2012 17:30") | 40919.72917 |
| Datevalue* | Converte o texto em um valor data/hora, mas não converte a parte de tempo. | DateValue("11/11/2012 17:30") | 40919.0 |
| Timevalue* | Converte texto em um valor data/hora, mas não converte nenhuma informação de data. | TimeValue("11/11/2012 17:30") | 0.72917 |
|
TimeSerial Nota: Em um aplicativo access, use as funções TimeFromParts ou DateWithTimeFromParts . |
Cria um valor de tempo de inteiros que você fornece para a hora, minuto e segundo. | TimeSerial(17,30,15) | 0.72934 |
* Não disponível em aplicativos de acesso.
Somar ou subtrair datas
Essas funções permitem adicionar ou subtrair intervalos a datas, bem como calcular a diferença entre dois valores de data/hora.
| Função | Uso | Exemplo | Resultado |
|---|---|---|---|
| DateAdd | Adiciona um intervalo específico (como 2 meses ou 3 horas) a um valor data/hora. Para subtrair, use um número negativo como o segundo argumento. | DateAdd("m", 1, "11/11/2012") | 2/11/2012 |
| DateDiff | Determina o número de intervalos de tempo (como dias ou minutos) entre dois valores de data/hora. Nota: Lembre-se de que você também pode apenas subtrair um valor de data de outra para obter o número de dias entre eles, por exemplo, #2/15/2012# - #2/1/2012# = 14. |
DateDiff("d","11/11/2012","15/04/2012") | 95 |
Confira como calcular o número de dias entre duas datas.
Inserir a data de hoje ou a hora atual
Use essas funções para determinar a data ou hora atual. A coluna Resultado pressupõe que a data/hora do sistema atual seja 11 de janeiro de 2012 17:30:15.
| Função | Uso | Exemplo | Resultado |
|---|---|---|---|
| Nwo | Retorna a data e a hora do sistema atual. | Agora() | 11/11/2012 17:30:15 |
|
Data Nota: Em um aplicativo access, use a função Today . |
Retorna a data atual do sistema. | Data() | 1/11/2012 |
| Tempo* | Retorna o tempo atual do sistema. | Tempo() | 17:30:15 |
| Timer* | Retorna o número de segundos decorridos desde a meia-noite. | Temporizador() | 63015 |
* Não disponível em aplicativos de acesso.