Okay, so I followed the chat. Anish, the Op, seems to be claiming that "last day" means yesterday in Indian English.
In general, Last day has a religious meaning which I did not know till now. But as a user of Indian English (If there is such thing as Indian English which is very different from native English), I have been using "last day" to imply the following meaning.
The last time which should be implied by a day a particular action happened.
For example: The last day, I watched a movie was 6 months back.
Generally, last day can be yesterday, day before yesterday or 1 year before yesterday. Now, I would not say "last day" to imply "yesterday" (although I assume yesterday could be an option). If something happened "yesterday", I would say it happened yesterday. For this particular example I would have gone with:
I have bought a book yesterday from an online site.
Now someone may ask why I would go with yesterday. Well the answer is, no way a speaker would want his meaning to be unclear to a listener. The listener might ask,
Last day means when? Yesterday? Or any other day?
So, if yesterday is the case, it would be said yesterday, otherwise the last day is fine with me.
Actually, its quite same with the last time except the fact the last day signifies a whole day something happened, not say for 2 hours IMHO. But I guess natives use the last time for a whole day too. However, according to me, Indians go with the last day often.