diff options
Diffstat (limited to 'lib/ansible/plugins/filter/to_datetime.yml')
-rw-r--r-- | lib/ansible/plugins/filter/to_datetime.yml | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/ansible/plugins/filter/to_datetime.yml b/lib/ansible/plugins/filter/to_datetime.yml new file mode 100644 index 0000000..dbd476a --- /dev/null +++ b/lib/ansible/plugins/filter/to_datetime.yml @@ -0,0 +1,35 @@ +DOCUMENTATION: + name: to_datetime + version_added: "2.4" + short_description: Get C(datetime) from string + description: + - Using the input string attempt to create a matching Python C(datetime) object. + notes: + - For a full list of format codes for working with Python date format strings, see + L(the Python documentation, https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior). + positional: _input + options: + _input: + description: A string containing date time information. + type: str + required: true + format: + description: C(strformat) formatted string that describes the expected format of the input string. + type: str + +EXAMPLES: | + + # 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 + secsdiff: '{{ (("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, and so on 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 }} + +RETURN: + _value: + description: C(datetime) object from the represented value. + type: raw |