Calculadora de Datas
Calcule diferenças entre datas e realize operações com datas.
Gratis ate 10 MB por arquivo100 MB por enviosem anuncio antes do limite
$titulo = 'Calculadora de Datas';
$descricao = 'Calcule diferenças entre datas, adicione ou subtraia dias, meses e anos';
$palavrasChave = 'calculadora datas, diferença datas, adicionar dias, subtrair datas';
$data1 = '';
$data2 = '';
$operacao = 'diferenca';
$dias = 0;
$meses = 0;
$anos = 0;
$resultado = null;
$explicacao = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$operacao = $_POST['operacao'] ?? 'diferenca';
if ($operacao === 'diferenca') {
$data1 = $_POST['data1'] ?? '';
$data2 = $_POST['data2'] ?? '';
if (!empty($data1) && !empty($data2)) {
$resultado = calcularDiferencaDatas($data1, $data2);
$explicacao = "Diferença entre " . date('d/m/Y', strtotime($data1)) . " e " . date('d/m/Y', strtotime($data2));
}
} else {
$data1 = $_POST['data_base'] ?? '';
$dias = intval($_POST['dias'] ?? 0);
$meses = intval($_POST['meses'] ?? 0);
$anos = intval($_POST['anos'] ?? 0);
if (!empty($data1)) {
$resultado = calcularOperacaoData($data1, $dias, $meses, $anos, $operacao);
$operacaoNome = $operacao === 'adicionar' ? 'adicionando' : 'subtraindo';
$explicacao = "{$operacaoNome} {$dias} dias, {$meses} meses, {$anos} anos a " . date('d/m/Y', strtotime($data1));
}
}
}
function calcularDiferencaDatas($data1, $data2) {
$timestamp1 = strtotime($data1);
$timestamp2 = strtotime($data2);
if ($timestamp1 === false || $timestamp2 === false) {
return null;
}
$diferenca = abs($timestamp2 - $timestamp1);
$dias = floor($diferenca / (60 * 60 * 24));
$anos = floor($dias / 365);
$meses = floor(($dias % 365) / 30);
$diasRestantes = $dias % 30;
return [
'anos' => $anos,
'meses' => $meses,
'dias' => $diasRestantes,
'total_dias' => $dias
];
}
function calcularOperacaoData($dataBase, $dias, $meses, $anos, $operacao) {
$timestamp = strtotime($dataBase);
if ($timestamp === false) {
return null;
}
$multiplicador = $operacao === 'adicionar' ? 1 : -1;
// Adicionar/subtrair anos
$timestamp = strtotime(($anos * $multiplicador) . ' years', $timestamp);
// Adicionar/subtrair meses
$timestamp = strtotime(($meses * $multiplicador) . ' months', $timestamp);
// Adicionar/subtrair dias
$timestamp = strtotime(($dias * $multiplicador) . ' days', $timestamp);
return date('Y-m-d', $timestamp);
}
?>
Proximo passo recomendado
Faca este resultado trabalhar por voce
A Minike conecta a ferramenta que voce esta usando com o produto que tem maior chance de gerar valor recorrente.
R$ 49,90/mo
Minike Ferramentas Pro
Conversoes maiores, sem anuncios principais e prioridade.
Gratis: 10 MB por arquivo e 100 MB por lote.
R$ 29,90/mo
Minike Sites
Transforme arquivos convertidos em paginas, landing pages e lojas.
Previa gratis antes de publicar.
Precos exibidos para Brasil e EUA. O checkout local cobra em BRL ate ativarmos gateway internacional.