As alternative to python you can also select Arcade as language and use this:
In this case the range of dates is adjusted to the one you asked for (with a slight change):
01/01/2017 00:00:00 AM and 12/31/2017 11:59:59 PM
Arcade expression:
var start_date = Date(1483246800000);
var end_date = Date(1514782799000);
var seconds = DateDiff(end_date, start_date, "seconds");
var rnd_sec = Random() * seconds;
var rnd_date = DateAdd(start_date, rnd_sec, "seconds");
return rnd_date;
This site ( Epoch Converter - Unix Timestamp Converter ) might help to determine the number of miliseconds since 1/1/1970 or you can just use this format Date ( value , month , day , hour , minute , second , millisecond )
Output dates will be like this:
And when you look at the result, you will notice that the result is not random for each record (which I would have expected) but random for each run of the field calculator.
Kory Kramer (sorry to bother you again), am I missing something in order to make the Random generate a random result for each record? The help doesn't say much: Math Functions | ArcGIS for Developers