Splunk® Enterprise

Search Reference

Download manual as PDF

Download topic as PDF

Date and time format variables

This topic lists the variables that you can use to define time formats in the evaluation functions, strftime() and strptime(). You can also use these variables to describe timestamps in event data.

Additionally, you can use the relative_time() and now() time functions as arguments.

For more information about working with dates and time, see Time modifiers for search and About searching with time in the Search Manual.

Refer to the list of tz database time zones for all permissible time zone values. For more information about how the Splunk software determines a time zone and the tz database, see Specify time zones for timestamps in Getting Data In.

Date and time variables

Variable Description
 %c The date and time in the current locale's format as defined by the server's operating system. For example, Mon Jul 13 09:30:00 2017 for US English on Linux.
%+ The date and time with time zone in the current locale's format as defined by the server's operating system. For example, Mon Jul 13 09:30:00 PDT 2017 for US English on Linux.

Time variables

Variable Description
 %Ez Splunk-specific, timezone in minutes.
 %H Hour (24-hour clock) as a decimal number. Hours are represented by the values 00 to 23. Leading zeros are accepted but not required.
 %I Hour (12-hour clock) with the hours represented by the values 01 to 12. Leading zeros are accepted but not required.
 %k Like %H, the hour (24-hour clock) as a decimal number. Leading zeros are replaced by a space, for example 0 to 23.
 %M Minute as a decimal number. Minutes are represented by the values 00 to 59. Leading zeros are accepted but not required.
 %N Subseconds with width. (%3N = milliseconds, %6N = microseconds, %9N = nanoseconds)
 %p AM or PM.
 %Q The subsecond component of 2017-11-30 23:59:59.999 UTC.

%3Q = milliseconds, with values of 000-999. %6Q = microseconds, with values of 000000-999999. %9Q = nanoseconds, with values of 000000000-999999999.

 %S Second as a decimal number, for example 00 to 59.
 %s The Unix Epoch Time timestamp, or the number of seconds since the Epoch: 1970-01-01 00:00:00 +0000 (UTC). (1484993700 is Sat Jan 21 10:15:00 2017)
 %T The time in 24-hour notation (%H:%M:%S). For example 23:59:59.
 %X The time in the format for the current locale. For US English the format for 9:30 AM is 9:30:00.
 %Z The timezone abbreviation. For example EST for US Eastern Standard Time.
 %z The timezone offset from UTC, in hour and minute: +hhmm or -hhmm. For example, for 5 hours before UTC the values is -0500 which is US Eastern Standard Time.

Examples:

  • Use %z to specify hour and minute, for example -0500
  • Use %:z to specify hour and minute separated by a colon, for example -5:00
  • Use %::z to specify hour minute and second separated with colons, for example -05:00:00
  • Use %:::z to specify hour only, for example -05
 %% A literal "%" character.

Date variables

Variable Description
 %F Equivalent to %Y-%m-%d (the ISO 8601 date format).
 %x The date in the format of the current locale. For example, 7/13/2017 for US English.

Specifying days

Variable Description
 %A Full weekday name. (Sunday, ..., Saturday)
 %a Abbreviated weekday name. (Sun, ... ,Sat)
 %d Day of the month as a decimal number, includes a leading zero. (01 to 31)
 %e Like %d, the day of the month as a decimal number, but a leading zero is replaced by a space. (1 to 31)
 %j Day of year as a decimal number, includes a leading zero. (001 to 366)
 %w Weekday as a decimal number. (0 = Sunday, ..., 6 = Saturday)

Specifying months

Variable Description
 %b Abbreviated month name. (Jan, Feb, etc.)
 %B Full month name. (January, February, etc.)
 %m Month as a decimal number. (01 to 12). Leading zeros are accepted but not required.

Specifying year

Variable Description
 %y Year as a decimal number, without the century. (00 to 99). Leading zeros are accepted but not required.
 %Y Year as a decimal number with century. For example, 2017.

Examples

Time format string Result
 %Y-%m-%d 2017-12-31
 %y-%m-%d 17-12-31
 %b %d, %Y Feb 11, 2017
q|%d%b '%y = %Y-%m-%d| q|23 Apr '17 = 2017-04-23|
PREVIOUS
Time functions
  NEXT
Time modifiers

This documentation applies to the following versions of Splunk® Enterprise: 5.0, 5.0.1, 5.0.2, 5.0.3, 5.0.4, 5.0.5, 5.0.6, 5.0.7, 5.0.8, 5.0.9, 5.0.10, 5.0.11, 5.0.12, 5.0.13, 5.0.14, 5.0.15, 5.0.16, 5.0.17, 5.0.18, 6.0, 6.0.1, 6.0.2, 6.0.3, 6.0.4, 6.0.5, 6.0.6, 6.0.7, 6.0.8, 6.0.9, 6.0.10, 6.0.11, 6.0.12, 6.0.13, 6.0.14, 6.1, 6.1.1, 6.1.2, 6.1.3, 6.1.4, 6.1.5, 6.1.6, 6.1.7, 6.1.8, 6.1.9, 6.1.10, 6.1.11, 6.1.12, 6.1.13, 6.2.0, 6.2.1, 6.2.2, 6.2.3, 6.2.4, 6.2.5, 6.2.6, 6.2.7, 6.2.8, 6.2.9, 6.2.10, 6.2.11, 6.2.12, 6.2.13, 6.3.0, 6.3.1, 6.3.2, 6.3.3, 6.3.4, 6.3.5, 6.3.6, 6.3.7, 6.3.8, 6.3.9, 6.3.10, 6.3.11, 6.3.12, 6.4.0, 6.4.1, 6.4.2, 6.4.3, 6.4.4, 6.4.5, 6.4.6, 6.4.7, 6.4.8, 6.4.9, 6.5.0, 6.5.1, 6.5.1612 (Splunk Cloud only), 6.5.2, 6.5.3, 6.5.4, 6.5.5, 6.5.6, 6.5.7, 6.6.0, 6.6.1, 6.6.2, 6.6.3, 6.6.4, 6.6.5, 7.0.0, 7.0.1


Comments

I have USER IDs and TIME_ELAPSED with 100 rows. Time Elapsed is in string format. Now i want to take total time elapsed per user id and want to display it in a graphical view.

Please help and provide your input.

Kjsuresh
June 12, 2017

It appears that splunk supports modifier flavs after the "%", but I do not see any mention of this on this page. For example:
- (hyphen) Do not pad the field
_ (underscore) Pad with spaces
0 (zero) Pad with zeroes
^ Upper case (where possible)
# Opposite case (where possible)

Woodcock
June 2, 2017

Hi Adam

Thank you for your feedback on the time format variables. The only difference between %Q and %N is how many digits they default to if you don’t include a field width.

Suppose you specify this:
… |stats count| eval _raw=strftime(12345.123456789,"%N %q %Q”)

It would return this:
123456000 123456 123

Note that even though %N defaults to 9 digits, currently only 6 get real values (the others are the zeros) because of the range of UNIX’s “struct timeval”

If you specify an explicit field width, these 2 format variables return the same values.

If you specify 5 as the explicit field width for each of the variables, this search:

…|stats count| eval _raw=strftime(12345.123456789,"%5N %5q %5Q”)

Returns this:
12345 12345 12345

Lstewart splunk, Splunker
March 31, 2017

Can some more clarification be made with regards to the difference between %N and %Q?

Adam.reber
March 29, 2017

Dhillny
You can always use the where command to filter out events in a certain time range and the relative_time function.

E.g.
| where _time<relative_time(now(),”-30m”)

OR

_time > relative_time(now(),”-15m”)

These would filter out events between 15 and 30 minutes ago.

Lstewart splunk, Splunker
November 14, 2016

is there a way to parse long and short year format in one sourcetype? e.g. we have 01-Nov-16 and 01-Nov-2016 in the log and only one could be recognised properly.

Antonyhan
November 7, 2016

Is there a way to exclude a time range from a scheduled report? Please provide example if so, thanks.

Dhillny
September 7, 2016

Cgardiner
Thank you for the examples!
I have added them to the documentation.

Lstewart splunk, Splunker
July 1, 2016

For reference on alternate timezone formats:

%z - hour and minute (e.g. +0500)
%:z - hour and minute separated with a colon (e.g. +05:00)
%::z - hour minute and second separated with colons (e.g. +05:00:00)
%:::z - hour only (e.g. +05)

Cgardiner
June 29, 2016

Thanks Elbirt, good catch about the %Q time variable!
I have updated the documentation.

Lstewart splunk, Splunker
December 10, 2015

Hi LStewart, there is another issue with the %Q description. It starts with "The subsecond component of 1970-01-01 00:00:00 UTC." But this timestamp has no sub second component. A better example would include sub seconds, e.g. "The subsecond component of 1999-12-31 23:59:59.999 UTC."

Elbirt
December 2, 2015

Thanks Yuan for your comment on the documentation for %Q, I have updated the page.

Lstewart splunk, Splunker
November 24, 2015

Description of %Q, "The subsecond component of 1970-01-01 00:00:00 UTC. (%3Q = milliseconds, %6Q = microseconds, %9Q = nanoseconds with values of 000-999)," is inaccurate. Actual application is %3Q=milliseconds with values of 000-999, %6Q= microseconds with values of 000000-999999, %9Q = nanoseconds with values of 000000000-999999999.

There might be ways to reduce wording, but the original statement can lead to confusion.

Yuanliu
November 23, 2015

It seems that we also can "extract" tab characters as %t, if a tab appears in your event data.

Sowings splunk
April 3, 2015

Budiz, thanks for the comment. I corrected the information.

Andrewb splunk
April 2, 2015

%S Second as a decimal number. (00 to 61) <-- 61?

Budiz
March 18, 2015

Hello Splunk team !<br /><br />What about the dates before the 1970/1/1 ?<br /><br />Greg

Tmnteam
July 29, 2014

Was this documentation topic helpful?

Enter your email address, and someone from the documentation team will respond to you:

Please provide your comments here. Ask a question or make a suggestion.

You must be logged into splunk.com in order to post comments. Log in now.

Please try to keep this discussion focused on the content covered in this documentation topic. If you have a more general question about Splunk functionality or are experiencing a difficulty with Splunk, consider posting a question to Splunkbase Answers.

0 out of 1000 Characters