GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - leafsphp/date: 📅 Leaf PHP date/time module

BranchesTags
Open more actions menu

Latest commit

 

History

57 Commits
57 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
src
src
 
 
tests
tests
 
 
.gitignore
.gitignore
 
 
README.md
README.md
 
 
alchemy.yml
alchemy.yml
 
 
composer.json
composer.json
 
 

Repository files navigation



⏰ Tick

A powerful, elegant date/time manipulation library for PHP with a familiar JavaScript-like API

Latest Stable Version Total Downloads License


🌟 Why Tick?

Tick is a modern, lightweight PHP date/time library designed to make working with dates and times as painless as possible. If you're familiar with JavaScript libraries like Moment.js or Day.js, you'll feel right at home with Tick.

// Get current date in a specific format
echo tick()->format('MMMM Do, YYYY'); // March 31st, 2025

// Chain methods for complex operations
$nextFriday = tick()->add(1, 'week')->startOf('week')->add(4, 'day');
echo $nextFriday->format('dddd, MMMM D'); // Friday, April 11

🚀 Installation

Using Leaf CLI (Recommended):

leaf install date

Using Composer:

composer require leafs/date

🏁 Quick Start

// Current date and time
echo tick()->now(); // 2025-03-31T12:29:29+00:00

// Parse a specific date
$birthday = tick('1990-05-15');
echo $birthday->format('MMMM D, YYYY'); // May 15, 1990

// Manipulate dates
$futureDate = tick()->add(3, 'months')->subtract(2, 'days');
echo $futureDate->format('YYYY-MM-DD'); // 2025-06-29

âœĻ Features

  • 🔄 Familiar API - If you know Day.js or Moment.js, you already know Tick
  • ðŸŠķ Lightweight - No heavy dependencies, just pure PHP goodness
  • 🔌 Native Integration - Seamless integration with PHP's DateTime objects
  • 🌐 Timezone Support - Work with dates across different timezones effortlessly
  • 📊 Date Comparison - Easily compare dates with intuitive methods
  • ðŸ§Đ Extensible - Add your own custom functionality when needed
  • 🔍 Validation - Validate dates with built-in methods
  • 📝 Formatting - Format dates in any way you need

📚 API Reference

Creating Dates

// Current date and time
tick();
tick()->now();

// From string
tick('2025-03-31');
tick('2025/03/31');
tick('March 31, 2025');

// From DateTime
tick(new DateTime('2025-03-31'));

// From tick object
$tomorrow = tick('2025-03-31')->add(1, 'day');
tick($tomorrow);

Formatting

$date = tick('2025-03-31');

// Standard formats
$date->format('YYYY-MM-DD');          // 2025-03-31
$date->format('MMMM D, YYYY');        // March 31, 2025
$date->format('ddd, MMM D, YYYY');    // Mon, Mar 31, 2025
$date->format('YYYY-MM-DD HH:mm:ss'); // 2025-03-31 12:29:29

// Predefined formats
$date->toDateString();                // 2025-03-31
$date->toTimeString();                // 12:29:29
$date->toDateTimeString();            // 2025-03-31 12:29:29
$date->toISOString();                 // 2025-03-31T12:29:29.000Z

Manipulating Dates

$date = tick('2025-03-31');

// Add time
$date->add(1, 'day');     // 2025-04-01
$date->add(2, 'months');  // 2025-05-31
$date->add(1, 'year');    // 2026-03-31

// Subtract time
$date->subtract(1, 'week');  // 2025-03-24
$date->subtract(3, 'hours'); // 2025-03-31 09:29:29

// Start/End of time units
$date->startOf('month');    // 2025-03-01 00:00:00
$date->endOf('year');       // 2025-12-31 23:59:59.999999
$date->startOf('day');      // 2025-03-31 00:00:00

Comparing Dates

$date = tick('2025-03-31');

$date->isBefore('2025-04-01');        // true
$date->isAfter('2025-03-30');         // true
$date->isSame('2025-03-31');          // true
$date->isBetween('2025-03-30', '2025-04-01'); // true

Working with Timezones

// Create a date in a specific timezone
$tokyoTime = tick('2025-03-31', 'Asia/Tokyo');

// Convert between timezones
$newYorkTime = $tokyoTime->setTimezone('America/New_York');

ðŸĪ Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Made with âĪïļ by Leaf PHP

About

📅 Leaf PHP date/time module

leafphp.dev/docs/utils/date.html

Topics

dateleafphpphp

Resources

Readme

Code of conduct

Code of conduct

Contributing

Contributing
Activity
Custom properties

Stars

4 stars

Watchers

1 watching

Forks

2 forks
Report repository

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.