I have a question to do with language and logic that my mind is having trouble with. Please, try to explain it to me. It is both an English problem and also a problem to do with my native language.
Here is an example:
If I bought something two days ago. (e.g. Monday, so today is Wednesday) I can't say during Wednesday that I haven't bought anything for two days.
This is because I skipped just one day, and I can still buy something today, right? So I would say it in a way which makes it more logical for me: I haven't bought anything for one day.
Here is another example:
If I was at a club on Monday, and today is Wednesday, I would say I haven't been to that club for one day, since today I can still go there. However, I notice most people will express this differently, which in my opinion is illogical.
They say: "I haven't bought anything for two days" OR "I haven't been to that club for two days," meaning that the last time they were there was two days ago. How logical is this? Imagine you come to that club on Wednesday, having been there on Monday, and say to the same barman you saw there on Monday that you haven't been here for two days. He would be shocked: "What? are you stupid? You only missed one day here."
As in the case of the first question, "I haven't purchased anything for two days" should be used only if you last purchased something on Monday and today is Thursday, in my opinion, because we should not count Monday, when you bought something.
Does anybody get my point? Thanks for your answers and help.