Re: use of tense 1. means that the several-day period is not yet over: you still need to eat vegetables for some days to come. Sentences 2 and 3 could mean the same, but they may also mean that the period has recently finished. Sentence 3 is more formal than sentence 2.
However, none of the sentences mean that you are not able to eat meat during this period -- they just mean you have to eat vegetables. If you change it slightly to "I have had to eat nothing but vegetables..." that clearly means "only vegetables". |