Is it ok to ask:
"How long haven't you eaten oranges?"
or
"How long haven't you done your homework?"
Does it sound strange for native speakers?
And the answer like " I haven't eaten oranges since I left home"
English Language Learners Stack Exchange is a question and answer site for speakers of other languages learning English. It only takes a minute to sign up.
Sign up to join this communityIt does sound odd.
Slightly better would be
For how long have you not eaten oranges?
But simpler and better would be
When did you last eat oranges?
Your question is about the past, and the time when you ate oranges. The answer could still use the present perfect. "I haven't eaten them since last year".
The question about homework is the same. If you want to know the time when someone did homework, use the simple past. If you want to know if the homework is complete now then use the present perfect, without a past-time expression.
When did you last do homework? Have you done your homework today?
The question is grammatically correct but is unusual. I think using "haven't" makes this sound like a negative question, which can be confusing, because it is actually a Wh-question (how long?)
Since the answer you are actually looking for is a straightforward point in (or period of) time, there may be other, simpler ways to ask the question:
- How long has it been since you had any oranges"?
- When was the last time you had oranges?
- When did you last have oranges? (Somewhat less formal)
If you want to stress the non-action "not having oranges" (or "not doing your homework") you could ask a similar question but with non-contracted "have". It would still be unusual, but it removes the resemblance to an inverted question:
- How long have you not had oranges?