PHPackages                             joaopedrobaq/diffdatas - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. joaopedrobaq/diffdatas

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

joaopedrobaq/diffdatas
======================

Calculador de diferença entre datas que escreve em PT-br

v1.0.0(5y ago)110MITPHP

Since Jun 17Pushed 5y ago1 watchersCompare

[ Source](https://github.com/joaopedrobaq/DiffDatas)[ Packagist](https://packagist.org/packages/joaopedrobaq/diffdatas)[ RSS](/packages/joaopedrobaq-diffdatas/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (2)DependenciesVersions (2)Used By (0)

DiffDatas
=========

[](#diffdatas)

Calculadora de Diferença de Datas em PHP

Instalação
----------

[](#instalação)

O pacote pode ser instalado pelo composer:

```
composer require joaopedrobaq/diffdatas

```

Como Usar
---------

[](#como-usar)

No topo do arquivo, coloque:

```
require_once __DIR__ . '/vendor/autoload.php';

use DiffDatas\Datas;
```

Crie uma instância do objeto Datas e coloque as duas datas. O formato das datas deve ser "aaaa-mm-dd hh:mm:ss", como no exemplo abaixo:

```
$datas = new Datas;
$datas->setData1("2020-12-24 20:30:00"); // 24 de Dezembro de 2020 às 20:30
$datas->setData2("2020-06-15 12:00:00"); // 15 de Junho de 2020 às 12 horas
```

Caso queira, pode estabelecer qualquer uma das datas como o momento atual, usando o $datas-&gt;agora dentro do setData:

```
$datas->setData1($datas->agora);
```

Após a inserção das datas, utilize o seguinte método para executar o cálculo de diferença:

```
$datas->subDatas();
```

Agora que o cálculo foi feito, é possível retornar o resultado de várias maneiras:

Retornos
--------

[](#retornos)

Para exemplificar, será usado para todos os casos abaixo o seguinte código:

```
$datas = new Datas;
$datas->setData1("2020-12-25 00:00:00"); // 25 de Dezembro de 2020 à meia-noite
$datas->setData2("2020-06-15 12:00:00"); // 15 de Junho de 2020 às 12:00:00
$datas->subDatas());
```

Ele irá informar quanto tempo falta para o Natal de 2020, contando a partir de 15 de junho de 2020.

### Array com Diferença

[](#array-com-diferença)

Se deseja retornar um array associativo com a diferença, use:

```
$resultado = $datas->arrayDiff();
print_r($resultado);

// Retorna

Array
(
    [anos] => 0
    [meses] => 6
    [dias] => 9
    [horas] => 12
    [minutos] => 0
    [segundos] => 0
)
```

Ou seja, faltam 6 meses, 9 dias e 12 horas para o Natal.

### Escrever diferença Simples

[](#escrever-diferença-simples)

Caso queira escrever a maior medida de tempo, pode usar o método `escreverSimples()`

```
$resultado = $datas->escreverSimples();
echo $resultado;

// Retorna
6 meses
```

### Escrever diferença por extenso

[](#escrever-diferença-por-extenso)

Para escrever por extenso, use o método `escreverExtenso()`

```
$resultado = $datas->escreverExtenso();
echo $resultado;

// Retorna
6 meses, 9 dias e 12 horas
```

### Escrever data no futuro

[](#escrever-data-no-futuro)

É possível também escrever por extenso uma data no futuro de maneira que use palavras como Hoje, Amanhã, Dia da semana (caso seja na semana seguinte) ou apenas a data numeral. Para isso, é necessário apenas informar a `Data1` e realizar a operação. Depois, use o método `escreverFuturo($as)`. O argumento `$as` deve ser um `boolean` que define se a string retornada deve conter a palavra "às" entre o dia e a hora, como no exemplo abaixo:

```
// A data usada como referência é o momento atual, que nesse exemplo é 15 de junho de 2020

$datas = new Datas;
$datas->setData1("2020-06-15 20:00:00"); // 15 de junho de 2020 às 20 hrs
echo($datas->escreverFuturo(false));

// Retorna
Hoje 20:00

echo($datas->escreverFuturo()); // O valor padrão é false

// Retorna
Hoje 20:00

echo($datas->escreverFuturo(true));

// Retorna
Hoje às 20:00
```

Observe que não é necessário fazer o cálculo `subDatas()`, pois o próprio método já o faz. Mais exemplos:

```
$datas = new Datas;
$datas->setData1("2020-06-16 14:00:00"); // 16 de junho de 2020 às 14 hrs
echo($datas->escreverFuturo());

// Retorna
Amanhã 14:00

$datas->setData1("2020-06-18 08:00:00"); // 16 de junho de 2020 às 14 hrs
echo($datas->escreverFuturo(false));

// Retorna
Quinta 08:00

$datas->setData1("2020-06-25 18:30:00"); // 16 de junho de 2020 às 14 hrs
echo($datas->escreverFuturo(true));

// Retorna
25/06 às 18:30
```

Contribuições
-------------

[](#contribuições)

Caso queira contribuir para o projeto, crie uma issue para que possamos discutir o bug ou possível adição ao repositório.

License
-------

[](#license)

MIT License -

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2161d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/63519778?v=4)[João Pedro Baqueiro](/maintainers/joaopedrobaq)[@joaopedrobaq](https://github.com/joaopedrobaq)

---

Top Contributors

[![joaopedrobaq](https://avatars.githubusercontent.com/u/63519778?v=4)](https://github.com/joaopedrobaq "joaopedrobaq (9 commits)")

---

Tags

calculadoracomposerdatesphpportuguese-brazilian

### Embed Badge

![Health badge](/badges/joaopedrobaq-diffdatas/health.svg)

```
[![Health](https://phpackages.com/badges/joaopedrobaq-diffdatas/health.svg)](https://phpackages.com/packages/joaopedrobaq-diffdatas)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
