PHPackages                             zigazou/date-rules - 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. zigazou/date-rules

ActiveLibrary

zigazou/date-rules
==================

Infer rules from a list of dates

1.0.3(3w ago)010↓75%BSD-3-ClausePHPCI passing

Since Jul 13Pushed 3w agoCompare

[ Source](https://github.com/Zigazou/DateRules)[ Packagist](https://packagist.org/packages/zigazou/date-rules)[ RSS](/packages/zigazou-date-rules/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (4)Dependencies (2)Versions (5)Used By (0)

DateRules
=========

[](#daterules)

DateRules is a PHP library that infers reusable scheduling rules from a flat list of date-time intervals.

It helps you turn raw entries like:

- 2026-07-06 10:00 -&gt; 2026-07-06 11:00
- 2026-07-13 10:00 -&gt; 2026-07-13 11:00
- 2026-07-20 10:00 -&gt; 2026-07-20 11:00

into compact rules such as:

- every Monday from 10h to 11h (within a date range)
- every day from X to Y, with explicit exceptions
- grouped weekday patterns sharing the same date range

Features
--------

[](#features)

- Analyze a list of intervals into a minimal rule set
- Detect weekly patterns, date ranges, and missing-date exceptions
- Merge compatible rules and time slots automatically
- Format results as human-readable French text
- Keep the API simple and composable

Installation
------------

[](#installation)

```
composer require zigazou/date-rules
```

Quick Start
-----------

[](#quick-start)

```
