Не удалось разобрать строку времени после изменения языка на арабский - PullRequest
0 голосов
/ 01 февраля 2020

я не разработчик. Я загрузил тему для WordPress, но после того, как я изменил язык на арабский c у меня появилось это сообщение об ошибке

Uncaught Exception: DateTime :: __ construct (): Не удалось проанализировать строку времени ( ٢٠٢٠/٠٢/٠٦ ١٩:٣٠) в позиции 0 (�): неожиданный символ в C: \ xampp \ htdocs \ Carna2 \ wp-content \ themes \ motors \ inc \ woocommerce_setups_rental. php: 928 Трассировка стека: # 0

вот строки кода с ошибкой

/*$date1 = new DateTime(explode(' ', $values['pickup_date'])[0]);
    $date2 = new DateTime(explode(' ', $values['return_date'])[0]);

    $diff = $date2->diff($date1)->format("%a");*/

    $date1 = new DateTime( $values['calc_pickup_date'] );
    $date2 = new DateTime( $values['calc_return_date'] );

    $diff = $date2->diff( $date1 )->format( "%a.%h" );

    $hm = explode('.', $diff);

пожалуйста, имейте в виду, что у меня нет опыта программирования thnks

1 Ответ

1 голос
/ 01 февраля 2020

На самом деле проблема заключается во вводимых числах арабского c, вам нужно преобразовать их в обычные цифры.

Если вы введете код ниже, это устранит вашу ошибку:

//$values = ['calc_pickup_date' => '٢٠٢٠/٠٢/٠٦ ١٩:٣٠','calc_return_date' => '٢٠٢٠/٠٦/٠٦ ١٩:٣٠' ];

// function that converts arabic numbers to standard digits
$convertNumbers = function($str) {
    $westernArabic = array('0','1','2','3','4','5','6','7','8','9');
    $easternArabic = array('٠','١','٢','٣','٤','٥','٦','٧','٨','٩');
    return str_replace($easternArabic, $westernArabic, $str);
};

$values = array_map($convertNumbers, $values); // convert numbers

// The rest of your code but using converted inputs
$date1 = new DateTime( $values['calc_pickup_date'] );
$date2 = new DateTime( $values['calc_return_date'] );

$diff = $date2->diff( $date1 )->format( "%a.%h" );

$hm = explode('.', $diff);

ПРИМЕЧАНИЕ. Полагаю, вам нужен кто-то, обладающий навыками разработки, или попытайтесь освоить некоторые основы, поскольку эта проблема может быть только началом ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...