A timestamp and date decoder written for python 3
A Python 3 timestamp and date decoder/encoder.
I noticed a lack of timestamp conversion utilities in a number of different linux systems. Since I happen to use linux in my day-to-day work I thought this would help.
This was developed with the Digital Forensics field in mind, so all of the testing has been done with the up-to-date SIFT Kit from SANS.
If you have any questions, suggestions, helpful thoughts of any kind, please feel free to drop me a line.
For python3, dateutil does not come pre-installed as a module. It will need to be installed manually:
sudo apt-get install python3-dateutil
or python3 -m pip install python-dateutil
python3 -m pip install time-decode
or python3 -m pip install git+https://github.com/digitalsleuth/time_decode
This python script provides the following conversions from existing timestamps:
Note that HFS times are in Local Time, where HFS+ times are in UTC. MS-DOS 32 bit Hex values and MS-DOS FAT Date+Time are also in Local Time of the source generating the timestamp. All other times, unless expressly mentioned, are in UTC.
I have added a feature to ‘guess’ in what format the timestamp is that you’ve provided. This will run the timestamp you provide against all methods, and provide an output if human-readable.
There is also the ability to convert a date-time to all of the aforementioned timestamps. Simply use the following command:
time-decode --timestamp "2017-06-02 13:14:15.678"
or for timezones use:
time-decode --timestamp "2017-06-02 13:14:15 -5"
The date/time you enter should be in the “YYYY-mm-dd HH:MM:SS.sss” format with the double-quote included, but does not require milli/micro/nano seconds to work. (Double-quote required for Windows Python)
If anyone has any other timestamps they think should be added to this tool, please let me know.
References/Sources for all material can also be found in the docstrings in the python script.