...если вы передаете дату в виде строки без указания таймзоны.
date_default_timezone_set('America/New_York');
$test = ORM::factory('Test');
$date_1 = new DateTime("now");
$date_1 = $date_1->format('Y-m-d h:i:s');
$test->date_1 = $date_1;
$test->save();
$test = ORM::factory('Test')->find();
echo $test->date_1;
echo $date_1;
Сохранять пользовательский ввод стоит уже в очищенном виде
Если не очистить текст и не указать кодировку, то просто htmlspecialchars может пропустить
А функция htmlspecialchars предназначена не для этого.
Кодировку проверять не нужно.