#include <chrono>
#include <cstring>
#include <iostream>
using namespace std;

using Timestamp = std::chrono::system_clock::time_point;


int main() {
	char data[1000] = {};
	// check "garbage" values for being C strings or timestamps.
	auto check_garbage_value = [&](uint64_t value) {
		auto * v = ::new (&data[0]) uint64_t{value};
		data[sizeof(uint64_t)] = '\0';
		auto t = std::chrono::system_clock::to_time_t(Timestamp(Timestamp::duration(value)));
		auto tm = *::gmtime(&t);
		cout << *v << " -> '" << (const char *)v << "' or "
		     << tm.tm_year + 1900 << "-" << tm.tm_mon + 1 << "-" << tm.tm_mday
		     << endl;
	};
	
	check_garbage_value(1784067974984445981ull);
	check_garbage_value(7310595060589862666ull);
	
	cout << endl;
	
	return 0;
}