title: Why does std::chrono::time_point not behave as expected?
body: <pre><code>#include &lt;chrono&gt;
  
  int main()
  {
      using clock = std::chrono::system_clock;
      using time_point = std::chrono::time_point&lt;clock&gt;;
  
      auto tp_now = clock::now();
      auto tp_min = time_point::min();
  
      bool b1 = tp_now &gt; tp_min;
      bool b2 = (tp_now - tp_min) &gt; std::chrono::seconds{ 0 };
      cout &lt;&lt; boolalpha &lt;&lt; b1 &lt;&lt; endl &lt;&lt; b2 &lt;&lt; endl;
  }
  </code></pre>
  
  <p>The expected output is:</p>
  
  <blockquote>
    <p>true</p>
    
    <p>true</p>
  </blockquote>
  
  <p>But the actual output is:</p>
  
  <blockquote>
    <p>true</p>
    
    <p>false</p>
  </blockquote>
  
  <p>Why does <code>std::chrono::time_point</code> not behave as expected?</p>