In [1]: matlab_datenum = 63650171169.50261 In [2]: matlab_datenum/1000/86400 # days Out[2]: 736.6917959433172If its really miliseconds, then its counting them from date in October 2008, seems quite odd. As i said, you would need to use some "offset".
In [3]: import datetime In [4]: some_matlab_date = matlab_datenum - 1000000000 # million seconds earlier? In [5]: some_python_date = ( datetime.datetime(2010, 11, 4, 0, 3, 50) # your base date + datetime.timedelta(seconds = (some_matlab_date - matlab_datenum)/1000) ) In [6]: some_python_date Out[6]: datetime.datetime(2010, 10, 23, 10, 17, 10)You just take your 2010/11/4 as a base date and add difference between matlab representation of that date and another one.
EDIT: You can use that formula to compute "start of matlab calender" by setting some_matlab_date = 0 and after that you could use
some_python_date = python_datetime_of_start_of_matlab_calendar + datetime.timedelta(seconds = some_matlab_date/1000)