assert( v >= 1970_01_01, "unsupported format for Unix timestamp" );
t.tm_year = cast( int )(v / 1_00_00 - 1900);
t.tm_mon = cast( int )(v / 1_00 % 1_00) - 1;
t.tm_mday = cast( int )(v % 1_00);
} else if (v < 1_0000_00_00_0000) {
t.tm_year = cast( int )(v / 1_00_00_0000L - 1900);
t.tm_mon = cast( int )(v / 1_00_0000 % 1_00) - 1;
t.tm_mday = cast( int )(v / 1_0000 % 1_00);
t.tm_hour = cast( int )(v / 1_00 % 1_00);
t.tm_min = cast( int )(v % 1_00);
} else if (v < 1_0000_00_00_000000) {
t.tm_year = cast( int )(v / 1_00_00_000000L - 1900);
t.tm_mon = cast( int )(v / 1_00_000000 % 1_00) - 1;
t.tm_mday = cast( int )(v / 1_000000 % 1_00);
t.tm_hour = cast( int )(v / 1_0000 % 1_00);
t.tm_min = cast( int )(v / 1_00 % 1_00);
t.tm_sec = cast( int )(v % 1_00);
assert( false, "unsupported format for Unix timestamp" );
2019_07_09_175050.uts.writeln;
assert( 2019_07_09_175050.uts == 1562694650 );
assert( 20190709_17_50_50.uts == 1562694650 );
2019_07_09_1750.uts.writeln;
assert( 2019_07_09_1750.uts == 1562694600 );
assert( 2019_07_09.uts == 1562630400 );