There is a sentence like below
The day was on christmas.
Can we replace on with at like below?
The day was at christmas.
What is the difference between the two expression?
There is a sentence like below
The day was on christmas.
Can we replace on with at like below?
The day was at christmas.
What is the difference between the two expression?
Neither of these really make sense, and there are a couple of ways to go depending on what it is exactly that you want to say.
If you are meaning Christmas as the single day, 25th December then you should say "It was Christmas day". It would be grammatically correct, but a bit weird to say: "the day was Christmas" or "the day was Christmas day".
If you are referring to the longer period of time around Christmas, the most natural thing to say would be "it was Christmas time". If you wanted to, you could add a preposition and it would not be weird, but it would be unnecessary - "it was (in/at/during) Christmas time". Again, it would be grammatically ok, but weird to say "the day was (in/at/during) Christmas time".
The common thread here is that it's not a common English construct to say "the day was <date-like thing>" but rather you should say "it was <date-like thing>". E.g. say "it was the 5th of July" not "the day was the 5th of July". If you're quoting a date (or something which obviously a time, etc.), then it is contextually obvious that "it" is a day.
There is an exception to this - sometimes, particularly in fiction literature, you might see "the day was <date>" where they write this for dramatic effect. The dramatic effect happens specifically because this is not a normal English construction.