Grammar question?

Hello guys, which of these sentences are correct? I made it up so I guess there can be 2 or more correct answers.
A) I have been playing for 2 hour 20 minutes.
B) I have been playing for 2 hours 20 minutes.
C) I have been playing for 2 hour and 20 minutes.
D) I have been playing for 2 hours and 20 minutes.
Thanks in advance!

I think that the correct answer is: D) I have been playing for 2 hours and 20 minutes. Answer A is incorrect because of the “2 hour” part. Since the sentence includes the 2 (meaning more than one), the word “hour” must be “hours.” Since C also only says “2 hour”, that answer is not an option. Your said that there could be two correct answers, so I’d say answer B and answer D. I think D is the best choice though because of the “and” that is between the hours and minutes. Adding the “and” helps the sentences make more sense (when written and spoken).