Which of the following is grammatical?
- What date/day is it today?
- What date/day is today?
Both are correct, and it may help to think of them in terms of the statements that answer them.
The simpler form "What day is today?" is answered by "Today is X"
They are both gramatically correct.
However, these are more idiomatic, at least in the UK: