Japanese idiom equivalent to "that ship has sailed"


What is the closest expression in Japanese that conveys a similar meaning to
the English idiom "that ship has sailed", referring to an "missed opportunity"
and "it's too late (to do anything about it)"?

The English phrase to me is discouraging and has a sense of futility, so I
would like the Japanese expression to convey a similar feeling.

For the context in which I would like to use this Japanese phrase, here is a
conversation alternating between two friends of a bachelor with feelings for
someone named Karen:

>   * I thought he had eyes for Karen.
>   * Yeah, he told me that, too.
>   * Well she graduated and went back to Sweden. I heard she found a good job
> there in her field.
>   * Right, I think he had wanted to propose to her, but you know what's up.
> She still has a life and likes living nearby her relatives in Stockholm.
>   * Indeed. Whatever he tries at this point may be too little too late.
>   * I agree; she really likes him, but I think that ship has sailed.
>

EDIT: @Mindful suggested 時すでに遅し, which seems to be a common expression for
"it's too late" and the [Webolio
dictionary](https://ejje.weblio.jp/content/that+ship+has+sailed) lists it
directly under the "that ship has sailed" idiom. I can't help but feel that
this phrase sounds slightly plain compared to "that ship has sailed" even
though the meaning may be correct.

In contrast, I have [found
後の祭り](https://eikaiwa.dmm.com/uknow/questions/1386/) as another expression
used to express a similar meaning to "that ship has sailed" and it also seems
to be somewhat less straightforward than simply 時すでに遅し. Would greatly
appreciate if anyone could point out the nuance between these two phrases.




I personally think 時すでに遅し is fine (時すでに遅し is an idiomatic phrase which is not
based on plain modern Japanese grammar), but if you want "more idiomatic"
ones, you may use the following expressions:

  * [覆水盆に返らず](https://kotobank.jp/word/%E8%A6%86%E6%B0%B4%E7%9B%86%E3%81%AB%E8%BF%94%E3%82%89%E3%81%9A-617363)  
(lit.) Spilled water won't go back to a bowl.

  * [後悔先に立たず](https://kotobank.jp/word/%E5%BE%8C%E6%82%94%E5%85%88%E3%81%AB%E7%AB%8B%E3%81%9F%E3%81%9A-494242)  
(lit.) Regret never precedes.

  * [落花枝に返らず、破鏡再び照らさず](https://kotobank.jp/word/%E8%90%BD%E8%8A%B1%E6%9E%9D%E3%81%AB%E8%BF%94%E3%82%89%E3%81%9A%E3%80%81%E7%A0%B4%E9%8F%A1%E5%86%8D%E3%81%B3%E7%85%A7%E3%82%89%E3%81%95%E3%81%9A-897624) (rare)  
(lit.) A fallen blossom won't go back to a branch; a broken mirror won't
reflect again.

後の祭り is also fine.




I personally think 時すでに遅し is fine (時すでに遅し is an idiomatic phrase which is not
based on plain modern Japanese grammar), but if you want "more idiomatic"
ones, you may use the following expressions:

  * [覆水盆に返らず](https://kotobank.jp/word/%E8%A6%86%E6%B0%B4%E7%9B%86%E3%81%AB%E8%BF%94%E3%82%89%E3%81%9A-617363)  
(lit.) Spilled water won't go back to a bowl.

  * [後悔先に立たず](https://kotobank.jp/word/%E5%BE%8C%E6%82%94%E5%85%88%E3%81%AB%E7%AB%8B%E3%81%9F%E3%81%9A-494242)  
(lit.) Regret never precedes.

  * [落花枝に返らず、破鏡再び照らさず](https://kotobank.jp/word/%E8%90%BD%E8%8A%B1%E6%9E%9D%E3%81%AB%E8%BF%94%E3%82%89%E3%81%9A%E3%80%81%E7%A0%B4%E9%8F%A1%E5%86%8D%E3%81%B3%E7%85%A7%E3%82%89%E3%81%95%E3%81%9A-897624) (rare)  
(lit.) A fallen blossom won't go back to a branch; a broken mirror won't
reflect again.

後の祭り is also fine.

