So this is about (preventing) an off-by-one error in the (interpretation of) English language. I have found some similar (not duplicate) questions but I don't feel entirely comfortable yet. For context, I'm an application developer, and I want my application to be crystal clear. To that end, I've found existing answers to be unsatisfactory.
Let me give an example sentence that should explain it all.
The contract lasts from 1 January to 31 January.
The word to is ambiguous, although in this case is easily understood to be up to and including the 31st. However, it will not always be this easy! In Dutch, we have a simple solution to this ambiguity:
- het contract duurt van 1 januari tot 1 februari (<)
- het contract duurt van 1 januari t/m 31 januari (<=)
I want to be able to use both forms in my application, but, again, it needs to be crystal clear to the user which of the 2 is meant.
The English equivalent for
t/m that first comes to mind is
up to and including. However, that is just too long for my tastes compared to
t/m. In Dutch, because it's so short, the ambiguity of
tot is almost non-existent because laziness is not an excuse to write
tot instead of
t/m. I fear that some developers will write
up to or
until where they actually meant
up to and including.
I also considered the word
through, so it would be this:
- The contract lasts from 1 January to 1 February. (<)
- The contract lasts from 1 January through 31 January. (<=)
through really understood by everyone to be
up to and including? Or is there an alternative, better word? Or perhaps I'm looking in the wrong direction for a solution and there's a word for
to that explicitly excludes the boundary?
So again, to summarize, I'm looking for:
- a word or phrase that unambiguously means less than
- a word or phrase that unambiguously means less than or equals