std::chrono::steady_clock::time_point型をミリセカンドで表したい

[code]

    std::chrono::steady_clock::time_point now = std::chrono::steady_clock::now();
    
[/code]

で表されるnowをミリセカンド単位で出力したいのですがどの様に記述すれば良いでしょうか。

[code]

    std::cout << std::chrono::duration_cast<std::chrono::milliseconds>(now) << std::endl;
    
[/code]

ではエラーが出てしまい、出力できませんでした。




C++コンパイラがC++20標準ライブラリに正しく対応していれば(※)、下記コードで期待通りの出力が得られます。  
※: 2022年12月現在は、最新のMicosoft Visual C++でしか動作しません。

[code]

    #include <iostream>
    #include <chrono>
    
    int main()
    {
      auto now = std::chrono::system_clock::now();
      auto now_ms = std::chrono::time_point_cast<std::chrono::milliseconds>(now);
      std::cout << now_ms << std::endl;
    }
    
[/code]

Demo: <https://godbolt.org/z/oWdY5eK59>

* * *

質問文中では[`std::chrono::steady_clock`](https://cpprefjp.github.io/reference/chrono/steady_clock.html)を利用されていますが、このClockは「絶対に逆行しない時計」保証を与える代償として、実世界における時計と直接リンクしていません。2点間の経過時間(`duration`)を計算するための道具と考えた方がよいです。

通常の意味で「現在時刻」が必要であれば[`std::chrono::system_clock`](https://cpprefjp.github.io/reference/chrono/system_clock.html)を用いて、動作環境のシステム時刻における現在時刻を取得します。

