Working with Unix time #TipWeek

by Rob Suddaby

We’re onto day 2 of #TipWeek at The Data School and today I’m going to show you how to deal with Unix time in your data. Unix is a system for measuring time, defined as the number of seconds that have elapsed since Midnight on January 1 1970 and is commonly found when dealing with web browsing data.

You can identify Unix time when you see a field that appears to be related to a date and time but which confusingly consists of 10 random numbers.

Untitled

 

 

Once you have identified that you have encountered Unix time, use a ‘Select’ tool in Alteryx to change the existing field to an Int64 type and then drag in a ‘Formula’ tool. Create a new field by typing a new field name under Output Field and select the DateTime type. You now need to write a custom expression to convert the Unix time to a readable one. To do this, we use the DateTimeAdd formula as follows: DateTimeAdd(‘1970-01-01′,[your original field name],’seconds’), which tells Alteryx to add the number of seconds contained in your existing field to January 1 1970, hence creating a readable date time field.

1

If you don’t have access to Alteryx, Unix time can also be converted easily in Tableau (or SQL) using this very helpful Tableau Knowledge Base article.

EDIT: I was asked in the comments section about whether it is possible to convert time INTO Unix, which of course it is! Assuming your existing date field is set as a Date/Date Time field, simply use the following formula:

In Alteryx: DateTimeDiff([Date Field],’1970-01-01′,’seconds’)

In Tableau: DATEDIFF(‘second’,DATE(“1970-01-01”),[Date Field])

I hope you find this tip useful, feedback and comments much appreciated as always and a big thanks to fellow Info Lab-er Paul Houghton for the inspiration. For more help understanding how to deal with complex time issues in Alteryx check out his awesome blog posts here and here.