I haven’t known thatをここで使うことはできません。 現在完了は以前の偶発性から生じる現在の状態を表し、あなたは暗にあなたの現在の状態はあなたがそれを知っていることだと言っています-それはあなたの以前の無知から生じることができる状態ではないのです。 (それはあなたの以前の無知から生じることができますが、それはそれを学ぶことからしか生じません。)
I didn’t know thatは、あなたがそれを言うまで、あってもなくても使うことができます。 これは、過去にあなたが無知の状態にあったこと、その状態は、あなたの宛先が「それ」に言及した時点で終了したことを述べています。 untilはここで説明したように、状態の終わりを示します。
今あなたがそれを知っていることを明確にするために、until you mentioned itのようなものを含める義務はありません-談話の状況がそれを処理します-それは、あなたの無知を払拭したのが、他の過去の出来事ではなく、あなたの聞き手の発言だったことを明確にするためだけに役立ちます
あなたはまたI hadn’t know that、再びuntil you mentioned itを使うかどうか使うかもしれません。 過去の時制領域には、現在の領域に存在する単純過去と現在完了の対比がないため、過去完了は必ずしも以前の出来事から生じた状態を表すわけではありません。 ここでは過去完了は現在時制領域の単純過去に類似した「過去から過去へ」の働きをするので、until節で明示された過去の参照時刻に終了した過去の無知の状態を記述しているのです。
ただし、ご存知のように、FumbleFingers の Perfect Truism では、過去完了が不要な場合は使うべきではないと指導されています。 この場合、過去完了が必要な明白な理由はありません。したがって、ここでの最良の選択は単純過去です:
I didn’t know that (until you mentioned it).