Date and time in Excel is just formatting of numbers. This means to get date and time displayed properly, newly created cells need to have a matching cell format, otherwise they will show as numbers.
The code will most likely need to copy formats from a previous row to the next to ensure formatting is handled correctly - in particular when dealing with named ranges. Tables may handle it automatically, but that needs to be tested, too.