77 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace App\Utilities;
 | |
| 
 | |
| use Carbon\Carbon;
 | |
| 
 | |
| class Date extends Carbon
 | |
| {
 | |
|     /**
 | |
|      * Function to call instead of format.
 | |
|      *
 | |
|      * @var string|callable|null
 | |
|      */
 | |
|     protected static $formatFunction = 'translatedFormat';
 | |
| 
 | |
|     /**
 | |
|      * Function to call instead of createFromFormat.
 | |
|      *
 | |
|      * @var string|callable|null
 | |
|      */
 | |
|     protected static $createFromFormatFunction = 'createFromFormatWithCurrentLocale';
 | |
| 
 | |
|     /**
 | |
|      * Function to call instead of parse.
 | |
|      *
 | |
|      * @var string|callable|null
 | |
|      */
 | |
|     protected static $parseFunction = 'parseWithCurrentLocale';
 | |
| 
 | |
|     /**
 | |
|      * Indicates if months should be calculated with overflow.
 | |
|      * Global setting.
 | |
|      *
 | |
|      * @var bool
 | |
|      */
 | |
|     protected static $monthsOverflow = false;
 | |
| 
 | |
|     /**
 | |
|      * Indicates if years should be calculated with overflow.
 | |
|      * Global setting.
 | |
|      *
 | |
|      * @var bool
 | |
|      */
 | |
|     protected static $yearsOverflow = false;
 | |
| 
 | |
|     public static function parseWithCurrentLocale($time = null, $timezone = null)
 | |
|     {
 | |
|         if (is_string($time)) {
 | |
|             $time = static::translateTimeString($time, static::getLocale(), 'en');
 | |
|         }
 | |
| 
 | |
|         return parent::rawParse($time, $timezone);
 | |
|     }
 | |
| 
 | |
|     public static function createFromFormatWithCurrentLocale($format, $time = null, $timezone = null)
 | |
|     {
 | |
|         if (is_string($time)) {
 | |
|             $time = static::translateTimeString($time, static::getLocale(), 'en');
 | |
|         }
 | |
| 
 | |
|         return parent::rawCreateFromFormat($format, $time, $timezone);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Get the language portion of the locale.
 | |
|      *
 | |
|      * @param string $locale
 | |
|      * @return string
 | |
|      */
 | |
|     public static function getLanguageFromLocale($locale)
 | |
|     {
 | |
|         $parts = explode('_', str_replace('-', '_', $locale));
 | |
| 
 | |
|         return $parts[0];
 | |
|     }
 | |
| }
 |