[SPARK-3407][SQL]Add Date type support

If the date `d` is polluted, for example `d.setTime(d.getTime + 1)`, this would be in a turmoil. I'm not sure if there's any way to get into that. Maybe before that really occurs, we can just use `new Timestamp(d.getTime)`