Hacking

Chrome History

In order to poke my brain to remember a site I figured out how to hack my Chrome History, and learned that Webkit doesn’t use Unixtime. Rather, it uses a timestamp of microseconds since 1 Jan 1601.

Thus to convert from Webkit Format to a generic Unixtime, divide by a million to get seconds, then subtract the number of seconds between 1 Jan 1970 and 1 Jan 1601 (11644473600).

In order to retrieve your Chrome history for analysis within a spreadsheet, (and if you’re using OS X) do the following:

1) Copy `History` file located at

USER/Library/Application Support/Google/Chrome/Default/History

to working location, then:

2) open using SQLLite Browser,
3) export table in question to CSV (in my case, `urls`)
4) open in Excel or Numbers
5) create column next to datetime you want to work with
(`last_visit_time`)
6) apply this formula referencing the column in question
=(CELL/1000000-11644473600)/60/60/24+”1 jan 1970″
7) …and set the column to ‘Custom’ = yyyy-mm-dd h:mm

Useful links:
Decoding Google Chrome Timestamps
Converting Unix Timestamps
Webkit Time


Update June 29 2013: Reader Darlyn Perez wrote me to offer his Python script to convert a Webkit timestamp into a regular timestamp. As he says, “It basically does the same thing as the spreadsheet formula in your post.”


#!usr/bin/python

#Converts a Webkit timestamp (microseconds since Jan 1 1601) from keyboard input into a human-readable timestamp.
#Script by Darlyn Perez on 2013-06-29

import datetime
def date_from_webkit(webkit_timestamp):
    epoch_start = datetime.datetime(1601,1,1)
    delta = datetime.timedelta(microseconds=int(webkit_timestamp))
    print epoch_start + delta

inTime = int(raw_input('Enter a Webkit timestamp to convert:'))
date_from_webkit(inTime)