I'm not sure what you're taking issue with here - two examples in the answer are using a date variable:
Pure SQL:
select * from t
where c1 >= to_date ( :dt, 'YYYY-MM-DD' );
SQL in PL/SQL:
select * from t
where c1 >= dtIn both cases DT is a variable.