21 UTC utc(2026, 7, 15, 22, 0, 0);
22 std::cout <<
"UTC: " << utc.
year <<
"-"
23 << std::setfill(
'0') << std::setw(2) << (int)utc.
month <<
"-"
24 << std::setw(2) << (int)utc.
day <<
" "
25 << std::setw(2) << (int)utc.
hour <<
":"
26 << std::setw(2) << (int)utc.
minute <<
":"
27 << std::setw(2) << (int)utc.
second <<
"\n";
29 auto jd = JulianDate::from_utc(utc);
30 std::cout <<
"JD: " << std::fixed << std::setprecision(6) << jd.value() <<
"\n";
32 auto mjd = MJD::from_jd(jd);
33 std::cout <<
"MJD: " << std::fixed << std::setprecision(6) << mjd.value() <<
"\n";
35 auto utc2 = mjd.to_utc();
36 std::cout <<
"Back: " << utc2.year <<
"-"
37 << std::setfill(
'0') << std::setw(2) << (int)utc2.month <<
"-"
38 << std::setw(2) << (int)utc2.day <<
" "
39 << std::setw(2) << (int)utc2.hour <<
":"
40 << std::setw(2) << (int)utc2.minute <<
":"
41 << std::setw(2) << (int)utc2.second <<
"\n\n";
46 auto j2000 = JulianDate::J2000();
47 std::cout <<
"J2000.0: " << j2000.value() <<
"\n";
48 std::cout <<
"Centuries since J2000: " << jd.julian_centuries() <<
"\n\n";
53 Period night(60200.0, 60200.5);
54 Period obs(60200.2, 60200.8);
56 std::cout <<
"Night: [" << night.
start_mjd() <<
", " << night.
end_mjd() <<
"]\n";
58 std::cout <<
"Overlap: [" << overlap.start_mjd() <<
", " << overlap.end_mjd() <<
"]\n";
59 std::cout <<
"Overlap duration: " << overlap.duration_days() * 24.0 <<
" hours\n";