ミリ秒までしか反映されなかった
JavaScriptのDateオブジェクトは、MDN Web Docsに記載されている通り、YYYY-MM-DD HH:mm:ss.sss
のミリ秒までしか反映されません。
メモ: Date コンストラクター(および Date.parse と同等)で日付文字列を解釈する際には、常に入力が ISO 8601 形式 (YYYY-MM-DDTHH:mm:ss.sssZ) であることを確認してください。
実際に動かしてみると
// 2024-01-01 12:00:00.999
var date1 = new Date("2024-01-01 12:00:00.999");
// 2024-01-01 12:00:00.99955
var date2 = new Date("2024-01-01 12:00:00.99955");
console.log(date1.getTime());
// 結果:1704110400999
console.log(date2.getTime());
// 結果:1704110400999
マイクロ秒を反映させる必要あり
マイクロ秒までの時間(文字列)をDateオブジェクトに設定する場合は、getTime()
でミリ秒取得後に、マイクロ秒を加算する必要があると思います。