My main confusion is in regards to the differences between English and French when expressing the fact that something hasn't been done in a given period of time, specifically ça fait and depuis.
For example: 'I have been here for 3 days' = ça fait trois jours que je suis ici
'I have been learning french for 3 years = ça fait trois ans que j'apprends le Français.
HOWEVER
I haven't seen him in a long time = ça fait longtemps que je l'ai pas vu
I haven't played the piano in years = ça fait des années j'ai pas joué le piano
I haven't eaten in 6 hours = ça fait six heures que j'ai pas mangé
Am I correct in supposing that the last two French translations can also be equivalent to the following English versions:
'It's been a long time since I've seen him'
'It's been years since I've played piano.'
'Its been 6 hours since I've eaten.'
Simply, while there are two ways of expressing in English the fact that something hasn't been done for a period of time, it is more natural to use a only a negative construction in French (i.e. Je l'ai pas vue depuis longtemps). Is that correct?
This seems self evident since an expression of NOT having done something would be expressed in the negative, but the affirmative construction in English is throwing me off a little.
If any translations are in need of correcting, please don't hesitate to do so. Thanks in advance :)