From ba4f26313b21110b482fbe5e63ab79ad30d91aac Mon Sep 17 00:00:00 2001 From: Owen Kuemerle Date: Tue, 20 Mar 2018 15:00:34 -0400 Subject: [PATCH] Correct method to get timedelta seconds value (#37485) * Correct method to get timedelta seconds value This also adds additional clarification for extracting different time/date values for time deltas * Small edit --- docs/docsite/rst/user_guide/playbooks_filters.rst | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/docs/docsite/rst/user_guide/playbooks_filters.rst b/docs/docsite/rst/user_guide/playbooks_filters.rst index 0d5d258705..a4ea6217c9 100644 --- a/docs/docsite/rst/user_guide/playbooks_filters.rst +++ b/docs/docsite/rst/user_guide/playbooks_filters.rst @@ -919,9 +919,15 @@ This will result in:: To get date object from string use the `to_datetime` filter, (new in version in 2.2):: - # get amount of seconds between two dates, default date format is %Y-%m-%d %H:%M:%S but you can pass your own one - {{ (("2016-08-14 20:00:12"|to_datetime) - ("2015-12-25"|to_datetime('%Y-%m-%d'))).seconds }} - + # Get total amount of seconds between two dates. Default date format is %Y-%m-%d %H:%M:%S but you can pass your own format + {{ (("2016-08-14 20:00:12"|to_datetime) - ("2015-12-25"|to_datetime('%Y-%m-%d'))).total_seconds() }} + + # Get remaining seconds after delta has been calculated. NOTE: This does NOT convert years, days, hours, etc to seconds. For that, use total_seconds() + {{ (("2016-08-14 20:00:12"|to_datetime) - ("2016-08-14 18:00:00"|to_datetime)).seconds }} + # This expression evaluates to "12" and not "132". Delta is 2 hours, 12 seconds + + # get amount of days between two dates. This returns only number of days and discards remaining hours, minutes, and seconds + {{ (("2016-08-14 20:00:12"|to_datetime) - ("2015-12-25"|to_datetime('%Y-%m-%d'))).days }} Combination Filters ````````````````````