Demonstrates the tempoch C++ API.
Demonstrates the tempoch C++ API.Build and run: cmake -B build && cmake –build build ./build/time_example
#include <iostream>
#include <iomanip>
UTC utc(2026, 7, 15, 22, 0, 0);
std::cout <<
"UTC: " << utc.
year <<
"-"
<< std::setfill(
'0') << std::setw(2) << (int)utc.
month <<
"-"
<< std::setw(2) << (int)utc.
day <<
" "
<< std::setw(2) << (int)utc.
hour <<
":"
<< std::setw(2) << (int)utc.
minute <<
":"
<< std::setw(2) << (int)utc.
second <<
"\n";
auto jd = JulianDate::from_utc(utc);
std::cout << "JD: " << std::fixed << std::setprecision(6) << jd.value() << "\n";
auto mjd = MJD::from_jd(jd);
std::cout << "MJD: " << std::fixed << std::setprecision(6) << mjd.value() << "\n";
auto utc2 = mjd.to_utc();
std::cout << "Back: " << utc2.year << "-"
<< std::setfill('0') << std::setw(2) << (int)utc2.month << "-"
<< std::setw(2) << (int)utc2.day << " "
<< std::setw(2) << (int)utc2.hour << ":"
<< std::setw(2) << (int)utc2.minute << ":"
<< std::setw(2) << (int)utc2.second << "\n\n";
auto j2000 = JulianDate::J2000();
std::cout << "J2000.0: " << j2000.value() << "\n";
std::cout << "Centuries since J2000: " << jd.julian_centuries() << "\n\n";
Period night(60200.0, 60200.5);
std::cout <<
"Night: [" << night.
start_mjd() <<
", " << night.
end_mjd() <<
"]\n";
std::cout << "Overlap: [" << overlap.start_mjd() << ", " << overlap.end_mjd() << "]\n";
std::cout << "Overlap duration: " << overlap.duration_days() * 24.0 << " hours\n";
return 0;
}
A time period [start, end] in MJD.
double start_mjd() const
Inclusive period start as raw MJD days.
Period intersection(const Period &other) const
Compute the overlapping interval with another period.
double end_mjd() const
Inclusive period end as raw MJD days.
uint8_t hour
Hour in range [0, 23].
uint8_t second
Second in range [0, 60], leap second aware.
uint8_t day
Day of month in range [1, 31].
int32_t year
Gregorian year (astronomical year numbering).
uint8_t month
Month in range [1, 12].
uint8_t minute
Minute in range [0, 59].
Umbrella header for the tempoch C++ wrapper library.