Origin of the phrase "it’s been years if it’s been a day"?
Solution 1:
An expression whose logic I never understood. A typical example is
- He's fifty if he is a day.
Meaning he is at least fifty. The addition "if he is a day" is a hint that it is a guess but one is rather sure that the estimation is not wrong.
At the moment my hypothesis is "if he is a day older or so it does not matter". But I am not very sure and I would prefer some evidence for it, which would necessitate longer researches in older literature, dictionaries or corpuses. But corpuses don't go back to older language variants. Perhaps someone else has or can find some evidence.
There is a long thread on the forum of wordreference.com. The general consensus is it is a guess, meaning "at least/or more". Some views are it means "if he is a day old", but that I think is drawn out of the finger.
http://forum.wordreference.com/threads/if-he-is-a-day.79171/
Added: A year ago or so I noted down this formula as unintelligible. Though I have been trying to find a logical derivation I haven't found one. But now an idea comes to my mind: "He is fifty if he is a day" means He is fifty, that's my guess and I'm rather sure. If he is a day less than fifty that doesn't make my guess wrong. - Well, something of this kind. I suppose the part with "if he is a day" is a hint that the whole formula consisted of two or even three sentences. But who knows what these sentences were. Etymonline has an entry for day but doesn't even hint at this formula, let alone explain it.
Solution 2:
Converting Peter Shor's comments to an answer:
This isn't really a set phrase, but a class of very similar idioms: "It's four miles, if it's an inch." And so forth. That link shows the idiom has been around since 1892, but it's probably quite a bit older than that. It sounds American (not specifically Southern) to me.
And I'm wrong ... it's not even specifically American. Trollope used it in 1864—"It's nineteen years if it's a day."
As explained in the comments, it isn't a particular phrase, just a common idiom with two contrasting clauses.