Can anyone tell me whether or not this sentence is grammatically correct?
My science teacher was teaching there a long time now.
Shouldn't it be " My science teacher has been teaching there for a long time."?
No, that sentence isn't correct. The adverbial of duration, "(for) a long time now," is incompatible with the past tense. One possible revision is the one you've suggested. Here is another possible revision, which gives a different meaning. Which you should choose depends on whether the teacher still teaches there.
My science teacher was teaching there (for) a long time.
My science teacher taught there (for) a long time.
When you block a person, they can no longer invite you to a private message or post to your profile wall. Replies and comments they make will be collapsed/hidden by default. Finally, you'll never receive email notifications about content they create or likes they designate for your content.
Note: if you proceed, you will no longer be following .