Document toolboxDocument toolbox

Day of the year (dayofyear)

Description

Returns the day of the year from a given timestamp. Optionally, you can check it in a time zone different than yours.

How does it work in the search window?

Select Create field in the search window toolbar, then select the Day of the year operation.

If you only add the Timestamp argument, you will get the day of the year considering your current timezone. Optionally, you can specify a different time zone adding the Time zone argument to see the day of the year in the specified timezone. When assigning a time zone different to yours, pay special attention to the original timestamp of the event, as the result may imply a day shift in the time zone specified. 

Argument

Data type

Description

Argument

Data type

Description

Timestamp mandatory

timestamp

You can either select a field with that data type or introduce it manually.

In case you want to introduce it, note that this value should be a date: Year-Month_Day Hour:Minute:Second.Millisecond (yyyy-MM-dd HH:mm:ss.SSS) → You can skip seconds and milliseconds.

Time zone

string

You need a valid string format the app can recognize so it returns meaningful results. If you leave the field empty or introduce a value the app cannot recognize, the default Time Zone is UTC. You can use one of the following methods:

  1. A time zone code→ UTC, PST, CST, etc. Check the full list here.

  2. The time zone database name → America/Los_Angeles, Europe/Amsterdam, Asia/Tokyo, etc. For the full list, see here.

  3. The full name of the time zone →  Universal Time Coordinated, Pacific Standard Time, Central Standard Time, etc. Check the full list here.

  4. The name of the region as it appears in Devo → Asia/Shanghai, Europe/Athens, America/New York, etc. You can check the time zone codes and region names in the Configure Timezone window in Devo.

Be aware that some of the codes coincide, as CST could mean Central Standard Time or China Standard Time. In that case, it would be advisable to avoid using codes and introduce any of the other formats mentioned.

The data type of the new field values will be integer and the values shown will be 0-364 (0-365 in leap years), where 0 is the first day of the year and 364 (365 in leap years) is the last one. Since the count starts at 0, note that the result will be the day - 1 (for example, if the day of the year is 200, you will get 199).

Be aware that timestamps taking place during summer will be affected in the time zones in which they set the clock forward during summer. For example, Europe/Madrid (CET-Central European Time), which is UTC+1, becomes UTC+2 during summertime and thus timestamps in August will be affected when using that time zone. Be also aware that summertime differs between the Northern and Southern Hemispheres.

Example

In the siem.logtrust.web.activity table, we want to create a field that indicates the day of the year of the dates in our eventdate field. To do it, we will create a new field using the Day of the year operation.

The arguments needed to create the new field are:

  • Timestamp - eventdate field

Click Create field 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 field. These are the valid formats for the Day of the year operation:

  • dayofyear(timestamp)  → Use this expression to get the day of the year corresponding to the given timestamps, according to your current time zone.

  • dayofyear(timestamp, timezone_string)  →  Use this expression to get the day of the year corresponding to the given timestamps, according to the specified time zone.

Example

You can copy the following LINQ script and try the above example on the demo.ecommerce.data table.

from demo.ecommerce.data select dayofyear(eventdate) as eventdate_day_year