No MySQL, você pode usar o
TO_DAYS()
função para descobrir quantos dias se passaram desde o dia 0 para uma determinada data. Por exemplo, você pode passar a data de hoje para esta função e ela retornará quantos dias se passaram desde o dia 0 . Este artigo contém exemplos para demonstrar.
Sintaxe
A sintaxe fica assim:
TO_DAYS(date)
Onde
date
é a data a ser usada no cálculo. Exemplo
Aqui está um exemplo para demonstrar.
SELECT TO_DAYS('1999-12-31');
Resultado:
+-----------------------+ | TO_DAYS('1999-12-31') | +-----------------------+ | 730484 | +-----------------------+
Observe que a documentação do MySQL informa que esta função não se destina ao uso com valores que precedem o advento do calendário gregoriano (1582). Isso porque não leva em consideração os dias que foram perdidos quando o calendário foi alterado.
Exemplo 2 - Data atual
Aqui está um exemplo usando a data atual.
SELECT CURDATE(), TO_DAYS(CURDATE());
Resultado:
+------------+--------------------+ | CURDATE() | TO_DAYS(CURDATE()) | +------------+--------------------+ | 2018-06-26 | 737236 | +------------+--------------------+
Primeiro, eu uso o
CURDATE()
função para retornar a data atual, então eu passo essa função para o TO_DAYS()
função para retornar o número de dias desde o dia 0 . TO_DAYS() vs FROM_DAYS()
O
FROM_DAYS()
função é o oposto de TO_DAYS()
, que, dada uma data data, retorna o número do dia. Aqui está um exemplo para demonstrar a relação entre essas duas funções:SELECT CURDATE(), TO_DAYS(CURDATE()), FROM_DAYS(TO_DAYS(CURDATE()));
Resultado:
+------------+--------------------+-------------------------------+ | CURDATE() | TO_DAYS(CURDATE()) | FROM_DAYS(TO_DAYS(CURDATE())) | +------------+--------------------+-------------------------------+ | 2018-06-26 | 737236 | 2018-06-26 | +------------+--------------------+-------------------------------+
Então neste exemplo eu uso
TO_DAYS()
para retornar o número de dias a partir da data atual. Eu então uso FROM_DAYS()
para retornar a data desse valor (que, como esperado, retorna ao valor original de CURDATE()
).