Skip to content

Commit

Permalink
accept persian number construct
Browse files Browse the repository at this point in the history
  • Loading branch information
hekmatinasser committed Jul 17, 2020
1 parent d80940f commit 97ebd19
Showing 1 changed file with 34 additions and 25 deletions.
59 changes: 34 additions & 25 deletions src/Verta.php
Original file line number Diff line number Diff line change
Expand Up @@ -199,41 +199,27 @@ class Verta extends DateTime {
self::YEARS_PER_DECADE,
);

/**
* arabic number.
*
* @var array
*/

protected static $arabicNumber = ['٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩'];

/**
* persian number.
*
* @var array
*/
protected static $persianNumber = array(
'۰',
'۱',
'۲',
'۳',
'۴',
'۵',
'۶',
'۷',
'۸',
'۹',
);
protected static $persianNumber = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];

/**
* english number.
*
* @var array
*/
protected static $englishNumber = array(
'0',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
);
protected static $englishNumber = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];

/***************************** CONSTRUCT ****************************/

Expand All @@ -245,6 +231,7 @@ class Verta extends DateTime {
* @internal param timestamp $timestamp [optional]
*/
public function __construct($datetime = null, $timezone = null) {
$datetime = self::faToEnNumbers(self::arToEnNumbers($datetime));
if ($datetime === null) {
$object = new DateTime();
$instance = $object->getTimestamp();
Expand Down Expand Up @@ -1443,11 +1430,33 @@ public function formatWord($format)
* @param string $string
* @return string
*/
public static function persianNumbers($string)
public static function enToFaNumbers($string)
{
return str_replace(self::$englishNumber, self::$persianNumber, $string);
}

/**
* Convert english numbers to persian numbers
*
* @param string $string
* @return string
*/
public static function faToEnNumbers($string)
{
return str_replace(self::$persianNumber, self::$englishNumber, $string);
}

/**
* Convert english numbers to persian numbers
*
* @param string $string
* @return string
*/
public static function arToEnNumbers($string)
{
return str_replace(self::$persianNumber, self::$englishNumber, $string);
}

/***************************** COMPARISION ****************************/

/**
Expand Down

0 comments on commit 97ebd19

Please sign in to comment.