Étant donné une liste de plages de dates r
en entrée, en sortie ou renvoyant toutes les plages non trouvées dans r
.
Pour cet exemple, l'entrée sera au YYYY-MM-DD
format.
Disons que vous avez trois plages de dates:
[2019-01-01, 2019-02-01]
[2019-02-02, 2019-04-05]
[2019-06-01, 2019-07-01]
Vous pouvez voir qu'il y a un écart entre 2019-04-05
et 2019-06-01
.
Le résultat sera cet écart: [2019-04-06, 2019-05-31]
Règles
- L'entrée et la sortie peuvent être dans n'importe quel format de date ou de collection raisonnable, tant qu'elles sont cohérentes.
- Supposons que l'entrée n'est pas ordonnée.
- Votre plage de dates ne doit pas nécessairement être
[latest, earliest]
, mais elle doit suivre la règle 2. - Supposons qu'il n'y a pas de dates qui se chevauchent dans l'entrée
Cas de test:
Contribution: [[2019-01-01, 2019-02-01],[2019-02-02, 2019-04-05],[2019-06-01, 2019-07-01]]
Production: [[2019-04-06, 2019-05-31]]
Contribution: [[2019-01-01, 2019-02-01],[2018-02-02, 2018-04-05],[2019-06-01, 2019-07-01]]
Production: [[2018-04-06, 2018-12-31], [2019-02-02, 2019-05-31]]
Contribution: [[2019-01-01, 2019-02-01],[2019-02-02, 2019-03-02],[2019-03-03, 2019-07-01]]
Production: []
Contribution: [[2019-01-01, 2019-02-01], [2019-11-02, 2019-11-20]]
Production: [[2019-02-02, 2019-11-01]]
Contribution: [[2019-01-01, 2019-02-01],[2019-02-03, 2019-04-05]]
Sortie: [[2019-02-02, 2019-02-02]]
ou[[2019-02-02]]
YYYY-MM-DD
car le format actuel est à la fois étranger à de nombreuses personnes et rendu encore plus difficile à analyser en raison de l'utilisation de petits jours de mois≤12.