Document toolboxDocument toolbox

Timestamp (timestamp)

Description

This operation performs two types of conversion:

  • Converts an epoch date in milliseconds (integer) into a readable timestamp. This is the inverse of the Epoch milliseconds (epoch) operation. To know more about the epoch date, also known as Unix Time, click the following link.

  • Converts a correctly formatted date string into a timestamp. See the description below for the correct format.

How does it work in the search window?

Select Create column in the search window toolbar, then select the Timestamp operation. It only requires one argument, either an integer or a string column.

Argument

Data type

More information

Argument

Data type

More information

Epoch / Date definition mandatory

integer or string

In the conversion of an epoch date integer into a timestamp, the number introduced will be treated as milliseconds so you need to make sure it actually refers to milliseconds. If you are given a date expressed in seconds, you need to transform it into milliseconds, otherwise the result will not correspond to the real date. You can add three zeros to the end of it using the following LINQ:

select int(add(str(epochSeconds), "000")) as epochMilliseconds

Once the epoch date is expressed in milliseconds, you can apply the timestamp operation to convert it.

To convert a date field from string to timestamp, the date must follow the format: Year-Month-Day Hour:Minute:Second.Millisecond  (i.e. 2019-09-09 09:52:49.986).  If your date string doesn't follow the required format, you should instead use the parse date operation to convert it to a timestamp. 

The data type of the values in the new column is timestamp.


Example

The examples in this article use values in a data table generated from the following CSV file.

If you want to try the example for yourself, download the file and upload it to your domain clicking Data upload in the navigation pane. Name the new table my.upload.sample.data and select Current date as Date parsing type. Learn more about uploading data in Uploading log files.

After receiving the confirmation message, you can access the table from the Finder, selecting my → upload → sample → data. When you upload data from a file, all the information is included in a single column called message. To split the values into different columns, you can use the Split operation. Then you need to transform the strings in the newly created columns into integers using the To Int operation. Click Toggle Query Editor in the search window toolbar and paste the following LINQ query to save time:

from my.upload.sample.data
select split(message, ";", 7) as EpochStr
select int(EpochStr) as EpochInt


Let's use the operation to convert an epoch date to the corresponding timestamp. With the my.upload.sample.data table open in the search window, we click Create column and select the Timestamp operation. Select the EpochInt column as the argument and assign a name to the new column - let's call it EpochTimestamp.

Click Create column and you will see the following result:

How does it work in LINQ?

Use the operator select... as...  and add the operation syntax to create the new column. These are the valid formats of the operation:

  • timestamp(integer)

  • timestamp(string)

Example

You can copy the following LINQ script and try the above example on the my.upload.sample.data table. Keep in mind that you must download and upload the file provided before to your Devo domain.

from my.upload.sample.data select split(message, ";", 7) as EpochStr, int(EpochStr) as EpochInt, timestamp(EpochInt) as EpochTimestamp