A bundle for persian date in Symfony2
$ php composer require pouyasoft_ir/simple-date-bundle
Service Name: pouya_soft.j_sdate_service
Functions:
null
)yyyy/MM/dd
) View Intl Formatfa
) (e.g. fa, fa_IR, en, en_US, en_UK, ...)persian
) (e.g. gregorian, persian, islamic, ...)false
) Convert Persian numbers to Latin Numbers.yyyy/MM/dd
) View Intl Formatfa
) (e.g. fa, fa_IR, en, en_US, en_UK, ...)persian
) (e.g. gregorian, persian, islamic, ...)Sample:
$shamsiString = $this->get('pouya_soft.j_sdate_service')->georgianToPersian(new \DateTime(), 'yyyy-MM-dd E');
//result: ۱۳۹۴-۱۱-۲۲ دوشنبه
$shamsiString = $this->get('pouya_soft.j_sdate_service')->persianToGeorgian('1394-11-22 دوشنبه', 'yyyy-MM-dd E');
//result: An instance of DateTime
Functions:
null
)yyyy/MM/dd
) View Intl Formatfa
) (e.g. fa, fa_IR, en, en_US, en_UK, ...)persian
) (e.g. gregorian, persian, islamic, ...)false
) Convert Persian numbers to Latin Numbers.yyyy/MM/dd
) View Intl Formatfa
) (e.g. fa, fa_IR, en, en_US, en_UK, ...)persian
) (e.g. gregorian, persian, islamic, ...)Sample:
{{ date|gpDate }} <br>
{{ date|gpDate('yyyy-MM-dd E') }} <br>
{{ '1394/11/22'|gpDate }} <br>
{{ '1394-11-22 دوشنبه'|gpDate('yyyy-MM-dd E') }} <br>
Type Name: PouyaSoftSDateType
Parameters:
yyyy/MM/dd
) View Intl Format yy/m/d
) View DatePicker Format note: Result of serverFormat and clientFormat, must be the same.
Sample:
$builder
->add('date', PouyaSoftSDateType::class, [
'serverFormat' => 'yyyy/MM/dd',
'pickerOptions' => [
'Format' => 'yyyy/MM/dd',
'EnableTimePicker' => true,
'GroupId' => 'group1',
'FromDate' => true,
'DisableBeforeToday' => true,
]
])
->add('date2', PouyaSoftSDateType::class, [
'serverFormat' => 'yyyy-MM-dd E',
'pickerOptions' => [
'Format' => 'yyyy/MM/dd',
'EnableTimePicker' => true,
'GroupId' => 'group1',
'ToDate' => true,
]
])
Requirements:
Add this lines to head tag in base.html.twig
file:
<head>
...
<link rel="stylesheet" href="https://github.com/msajadi824/simple-date-bundle/blob/master/{{ asset('bundles/pouyasoftsdate/MdBootstrapPersianDateTimePicker/jquery.md.bootstrap.datetimepicker.style.css') }}" />
...
</head>
Add this lines to end of body tag in base.html.twig
file:
<script type="text/javascript" src="https://github.com/msajadi824/simple-date-bundle/raw/master/{{ asset('bundles/pouyasoftsdate/MdBootstrapPersianDateTimePicker/jquery.md.bootstrap.datetimepicker.js') }}"></script>
Add this lines to config/packages/twig.yaml
file:
twig:
form_themes:
- '@PouyaSoftSDate/form/form_s_date.html.twig'
References: