public static function convertFormatToFormat($jalaliFormat, $georgianFormat, $timeString, $timezone = null)
{
// Normalize $timezone, take from static::date(...)
$timezone = $timezone != null ? $timezone : (self::$timezone != null ? self::$timezone : date_default_timezone_get());
if (is_string($timezone)) {
$timezone = new \DateTimeZone($timezone);
} elseif (!$timezone instanceof \DateTimeZone) {
throw new \RuntimeException('Provided timezone is not correct.');
}
// Convert to timestamp, then to Jalali
$datetime = \DateTime::createFromFormat($georgianFormat, $timeString, $timezone);
return static::date($jalaliFormat, $datetime->getTimestamp());
}