Is it okay to say "John and I are friends for three years"?
I know "John and I have been friends..." is correct, but I'd like to know if the sentence above can be acceptable.
That particular sentence is understandable, but that grammar is not good because with different words the meaning can be unclear.
If you say 'John and I are business partners for three years.', I don't know if you are talking about the past, the future, or some of both.
So you should say '...have been friends for three years.'