The two are very close. With some subtle differences.
"Did you have a nice day?"
"Did you have a good day?"
Are both good (no punn intended) uses. To me the word "good" would mean the day was better, than a "nice" day, by a little bit.
If you say:
"It was a nice day."
This would not give me the impression you had as rewarding a day as if you had said:
"It was a good day."
Nice, to me, would suggest there was a little bit of the day you were not happy with.
"It was a great day."
Is better than "a good day".
Student or Learner