sql >> Databáze >  >> RDS >> PostgreSQL

postgresql časové razítko na hodnotu std::chrono

Specifikace C++20 zavádí rodinu chrono::time_point s názvem local_time :

// [time.clock.local], local time
struct local_t {};
template<class Duration>
  using local_time  = time_point<local_t, Duration>;
using local_seconds = local_time<seconds>;
using local_days    = local_time<days>;

Tyto time_point s představují "časové razítko bez časového pásma".

Zde existuje bezplatný náhled této knihovny C++20 s otevřeným zdrojovým kódem:

https://github.com/HowardHinnant/date

který je v současné době používán jinými projekty po celém světě. Tato knihovna má několik drobných změn oproti specifikaci C++20, jako je vložení všeho do namespace date místo namespace std::chrono .

Příklad programu používajícího tuto knihovnu:

#include "date/date.h"
#include <iostream>

int
main()
{
    using namespace date;
    using namespace std::chrono;
    int y = 2019;
    int m = 8;
    int d = 28;
    int H = 14;
    int M = 42;
    int S = 16;
    int US = 500'000;
    local_time<microseconds> lt = local_days{year{y}/m/d} + hours{H} +
                                  minutes{M} + seconds{S} + microseconds{US};
    std::cout << lt << '\n';
}

Výstup:

2019-08-28 14:42:16.500000



  1. mysql konektor není integrován do vizuálního studia

  2. Umístění dočasné tabulky MySQL

  3. Živý chat s PHP a jQuery. Kam ukládat informace? Mysql nebo soubor?

  4. MIN a MAX agregační funkce v SQL Server