/verta

تبدیل تاریخ میلادی به شمسی برای لاراول و کار با تاریخ جلالی و اعتبارسنجی تاریخ

Primary LanguagePHPMIT LicenseMIT

jalali

hekmatinasser/verta

Latest Stable Version Total Downloads License

English Document

The Verta is package for change solar calendar and gregorian together and provide helper function to use date and time.

Verta extend class PHP Datetime and Jalali, compatible with Carbon Package.

This package has been created by Nasser Hekmati under the license of MIT.

Quick view

Installation

composer require hekmatinasser/verta
Laravel Version Package Version
8.0 8.0
9.0 8.2
10.0 8.3
11.0 8.4

Usage

use verta datetime jalali

echo verta(); //1401-05-24 00:00:00

Gregorian to Jalali

change gregorian to jalali and reverse

echo verta('2022-08-15'); //1401-05-24 00:00:00

jalali to Gregorian

change jalali to gregorian and reverse

echo Verta::parse('1401-05-24 14:12:32')->datetime(); //2022-08-15 00:00:00

Carbon to Jalali

change carbon to jalali and reverse

echo now()->toJalali(); //1401-05-24 00:00:00

Jalali to Carbon

change jalali to gregorian and reverse

echo verta()->toCarbon(); //2022-08-15 00:00:00

view more function

Getters

access part of jalali datetime

$v = verta(); // 1396-03-14 14:18:23
echo $v->year; // 1396

view more getter

Setters

set part of jalali datetime

$v = verta(); // 1396-03-14 14:18:23
echo $v->year = 1395;

view more setter

Fluent Setters

set multiple part of jalali datetime

$v = verta(); // 1396-03-14 14:18:23
echo $v->setTimeString('12:25:45');

view more fluent setter

Formatting

show datetime variant datetime

echo verta()->format('Y.m.d'); // 1401.05.24
echo verta()->formatWord('l dS F'); // دوشنبه بیست و چهارم مرداد

view more format

Common Formats

show common datetime variant datetime

echo verta()->formatJalaliDatetime(); // output 1395/10/07 14:12:25

view more common format

Difference for Humans

show difference format readable humans

echo verta('-13 month')->formatDifference(); // 1 سال قبل

view more format difference

Modification

manipulate jalali datetime

echo verta()->addWeeks(3); 
...

view more modifications

Boundaries

get boundary jalali datetime

echo verta()->startWeek(3); 

view more boundaries

Compression

get compression jalali datetime

echo verta('+2 day')->gte('2022-08-15');

view more compression

Difference

calculate difference two jalali datetime

echo verta('+13 day')->diffMonths('2022-08-15'); 

view more differences

Validation

check datetime check is valid

echo Verta::isLeapYear(1394); // false

view more validations

Localization

set language for formatting datetime

Verta::setLocale('ar');

view more localizations

Validation Request

validation input form

'birthday' => ['required', 'jdate_before_equal']

view more localizations

Licence

This package has been created by Nasser Hekmati under the license of MIT.

Contributors

Thanks to people who contributed for grow verta.