ModifyDateTime
Takes a date or time input and adds or subtracts a determined amount of time. Returns a string in date or time in ISO Format.
- Type
- python
- Pack
- FiltersAndTransformers
Source
import dateparser
import demistomock as demisto # noqa: F401
from CommonServerPython import * # noqa: F401
from CommonServerUserPython import * # noqa: E402 lgtm [py/polluting-import]
def apply_variation(original_datetime: datetime, variation: str) -> datetime | None:
try:
new_time = dateparser.parse(variation, settings={"RELATIVE_BASE": original_datetime})
assert new_time is not None, f"could not parse {variation}"
new_time = new_time.replace(tzinfo=original_datetime.tzinfo)
except Exception as err:
return_error(f"Error adding variation to the date / time - {err}")
return new_time
def main():
args = demisto.args()
value = args.get("value")
try:
original_datetime = dateparser.parse(value)
except Exception as err:
return_error(f"Error with input date / time - {err}")
variation = args.get("variation")
new_time = apply_variation(original_datetime, variation) # type: ignore
if isinstance(new_time, datetime):
return_results(new_time.isoformat())
else:
return_error("Invalid variation specified")
if __name__ in ("__main__", "builtin", "builtins"):
main()
README
Takes a date or time input and adds or subtracts a determined amount of time. Returns a string in date or time in ISO Format.
Script Data
| Name | Description |
|---|---|
| Script Type | python3 |
| Tags | transformer, date |
| Cortex XSOAR Version | 5.0.0 |
Inputs
| Argument Name | Description |
|---|---|
| value | Input date or time in a format that is supported by the dateparser.parse() function as outlined here- https://dateparser.readthedocs.io/en/latest/#popular-formats. For example: ‘2020-01-01’ or ‘1999/02/03 12:01:59’ |
| variation | Variation of time (for example: ‘in 1 day’, or ‘3 months ago’). Must be supported by the dateparser.parse() function here - https://dateparser.readthedocs.io/en/latest/#relative-dates |
Outputs
There are no outputs for this script.
Script Example
!ModifyDateTime value=2020,02,02 variation="1 day"
Context Example
{}
Human Readable Output
2020-02-01T00:00:00