The aforementioned function _atodt doesn't seem to work well (DC 10.70 and 72) sometimes it returns partially random results.
In my opinion, it's because the "t" structure is not initialized.
Line 2328:
auto struct tm t;
I changed it into:
auto struct tm t = {0, 0, 0};
With tm_sec, tm_min and tm_hour initialized to zero everything is working fine.