Правильная ли валидация даты и времени по формату DATETIME перед отправкой в базу MYSQL?
Да вполне приличный вариант! С безопасностью всё нормально.
Я бы немного переделал вот так:if(false !== $tm = strtotime($date)) {
    $date = date('Y-m-d H:i:s', $tm);
    print 'date ok';
}
В таком случае можно принимать дату в разных форматах, в MySQL всё равно пойдет в правильном виде.
спасибо)