英语中,使用不定式(to do)和完成不定式(to have done)来表达遗憾或道歉时,确实与时间因素有关。不过,这种用法更多地与动作是否已发生、是否已完成有关,而不是仅仅基于与现实说话的时间间隔长短。
当我们想要表达一个尚未发生的动作或者是一个习惯性行为时,我们通常使用简单的不定式(to do)。例如:
- I'm sorry to hear that.(听说那件事我很难过。)这里,“hear”的动作是在说话时刻之后进行的,但重点是这个动作还未发生。
而当我们想要表达一个已经完成的动作,即强调动作的完成状态时,我们使用完成不定式(to have done)。这通常用于对过去某个时间点的行为的道歉或遗憾。例如:
- I'm sorry to have lied to you.(我很抱歉之前对你撒了谎。)在这里,“lie”的动作发生在过去的某个时间点,并且已经完成,所以用“to have lied”。
因此,是否使用“to do”还是“to have done”主要取决于你想要表达的是未来的行为还是过去的已完成的行为,而不仅仅是基于与现实说话时间的间隔。所以,你的例子 "I'm sorry to have lied to you" 是正确的,因为你是在为过去的撒谎行为道歉,那个撒谎的行为在时间上先于你道歉的时刻,且已经完成。