Когда вводите дату 31-06 в году jalali (например, 1397-06-31) в функцию даты php, на выходе отображается один день после этого!
<?php
$date = date_create('1397-06-31');
echo date_format($date, 'Y-m-d');
// the output is 1397-07-01
?>
Как я могу это исправить?






Вы не ввели дату Джалали, вы ввели дату ~ 600 лет назад.
31 июня в этом году в вашем часовом поясе не существовало, поэтому оно пропускается на один день вперед.
PHP не понимает дат джалали. Вам нужно будет использовать такой пакет, как github.com/morilog/jalali, для их обработки.