只有在肯定句中须考虑不用瞬间动词。否定句中瞬间动词完成时可以带一段时间做状语。
How many days hasn't he come here ( for ) ? 这句中not不能随has提前
其它均可,不做一一解释
最好的翻译是 How long has it been since he last came here?英语翻译讲究信达雅,找到最好的和最经典的即可,其他的不用纠结。首先你可以写一句肯定句:It has been long time since he last came here.或者He has not been here for a long time.哪个更好写特殊疑问句而不纠结,就是前者呗~