PHPackages                             beaver/dateval - 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. beaver/dateval

ActiveLibrary

beaver/dateval
==============

Library for reccuring events

1.0.0(10y ago)118MITPHP

Since Jan 4Pushed 10y ago1 watchersCompare

[ Source](https://github.com/Kilgaloon/Dateval)[ Packagist](https://packagist.org/packages/beaver/dateval)[ RSS](/packages/beaver-dateval/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)DependenciesVersions (3)Used By (0)

Dateval library
===============

[](#dateval-library)

[![Build Status](https://camo.githubusercontent.com/4d84f4d66a50ddf208950b59ca49a9b196d166cd48c88907bbabd696f537be5e/68747470733a2f2f7472617669732d63692e6f72672f4b696c67616c6f6f6e2f4461746576616c2e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/Kilgaloon/Dateval)

Create new events, and see when they will repeat by generating results

First you need to create an event like this

```
$event = new Event("06 January 2014");

```

```
Example 1:
  $event->repeat("Weekly")
        ->maxRepeats(11);

  Event date will be set to 06 January 2014 and i will be repeated every week for limit of 11, which is 11 weeks.

  To generate reports on this example run:
    constructor: $report = new Report($event); // report constructor is taking Event object as argument
    usage:       $report->generateDates(from, to, pattern);
    ex:          $report->generateDates("01 March 2014", "31 March 2014");

    Pattern is set to default "d M Y", but you can change it any time just passing argument to function like this
    ex:         $report->generateDates("01 March 2014", "31 March 2014", "d m y");

```

```
Example 2:
  $event->repeat("Daily")
        ->until("15 March 2014");

  Event date is set and by generating reports with:
      $report->generateDates("01 March 2014", "31 March 2014");

  We will get dates from 01 March 2014 to 15 March 2014, Since event is happening every day starting from 06 January 2014 but we are generating reporst just for dates between 01 March and 31 March

```

```
Example 3:
  $event->repeat("Monday,Wednesday,Friday")
        ->maxRepeats();

  Event date is set and by generating reports with:
      $report->generateDates("01 March 2014", "31 March 2014");

  When repeat have provided argument days separated by commas that means we are searching for event that occurs just on provided days, and with maxRepeats() with not provided argument we are searching it with no limits and that will mean from 01 March to 31 March

```

There is some more examples and functionalities on this:

```
  $event->repeat("Monday,Wednesday,Friday")
        ->maxRepeats(11);

  $event->repeat("Monday,Wednesday,Friday")
        ->until("15 March 2014");

  $event->repeat(5) // event happens on every fifth day
        ->until("15 March 2014");

```

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity64

Established project with proven stability

 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

3780d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1f48ce075a130918c37f4787c96ec160e158610fd20c8d54eb7eb6c1582db788?d=identicon)[Kilgaloon](/maintainers/Kilgaloon)

---

Top Contributors

[![kilgaloon](https://avatars.githubusercontent.com/u/5402073?v=4)](https://github.com/kilgaloon "kilgaloon (8 commits)")

---

Tags

timedatecalendarreccuring

### Embed Badge

![Health badge](/badges/beaver-dateval/health.svg)

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

###  Alternatives

[azuyalabs/yasumi

The easy PHP Library for calculating holidays

1.1k11.4M26](/packages/azuyalabs-yasumi)[league/period

Time range API for PHP

7335.4M21](/packages/league-period)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)[aeon-php/calendar

PHP type safe, immutable calendar library

2079.7M16](/packages/aeon-php-calendar)[nesbot/carbon

An API extension for DateTime that supports 281 different languages.

169661.4M4.8k](/packages/nesbot-carbon)[punic/punic

PHP-Unicode CLDR

1542.9M29](/packages/punic-punic)

PHPackages © 2026

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