英语作文人工批改:at midnight还是by midnight

▲I told Peter not to be late. I was very angry when he still wasn’t home at midnight.
【试译】我告诉过彼得不要晚回,可是都午夜时分了,他却依然没有归家,这让我大为光火。
我觉得句中的at midnight用得没什么不妥,这里用于说明在一个具体的时间点某人的身处状态。不过改为 by midnight 也没什么问题:
I told Peter not to be late. I was very angrywhen he still wasn’t home by midnight.
【试译】我告诉过彼得不要晚回,可直到午夜时分,他还是依然未归,这让我很是火大。
▲By 的基本意义为:
1. not less than 不迟/晚于, 即有时等于(=at); 有时早于(=before);
2. during the period of time untila particular time 到…时为止。
这里取其第二义项:截止到午夜时分,他还是没有归家。人个人认为实际上,这里的home意为【回家】,即back home,正由于此,其才可以与by连用,因为by通常应与短暂动词连用,偶尔与延续动词连用时,通常应含有某种动作特征(如本句涉及的back之意)或涉及到【事件发展到的某一阶段点】:
By eleven o’clock, Brody was back in his office.
By now, the moon was up.
(以上来自《英语语法大全》p337)
By Friday midday, they will have been working on it for seven days.(来自NCE)
到周五中午,他们在这个工程上就干了7天了。
▲还有一点我的看法与你截然相反,这里我认为还可以用 until 来替换 at / by,因为你所担心的事情并不存在。因为只有 Until 与短暂动词连用时,not…until 结构才有【直到…才】之意。