{
  "specversion": 3,
  "name": "DateTime",
  "doc": "A library for handling date and time values.\n\n``DateTime`` is a Robot Framework standard library that supports creating and\nconverting date and time values (e.g. `Get Current Date`, `Convert Time`),\nas well as doing simple calculations with them (e.g. `Subtract Time From Date`,\n`Add Time To Time`). It supports dates and times in various formats, and can\nalso be used by other libraries programmatically.\n\n== Table of contents ==\n\n- `Terminology`\n- `Date formats`\n- `Time formats`\n- `Millisecond handling`\n- `Programmatic usage`\n- `Keywords`\n\n= Terminology =\n\nIn the context of this library, ``date`` and ``time`` generally have the following\nmeanings:\n\n- ``date``: An entity with both date and time components but without any\n   time zone information. For example, ``2014-06-11 10:07:42``.\n- ``time``: A time interval. For example, ``1 hour 20 minutes`` or ``01:20:00``.\n\nThis terminology differs from what Python's standard\n[http://docs.python.org/library/datetime.html|datetime] module uses.\nBasically its\n[http://docs.python.org/library/datetime.html#datetime-objects|datetime] and\n[http://docs.python.org/library/datetime.html#timedelta-objects|timedelta]\nobjects match ``date`` and ``time`` as defined by this library.\n\n= Date formats =\n\nDates can be given to and received from keywords in `timestamp`, `custom\ntimestamp`, `Python datetime` and `epoch time` formats. These formats are\ndiscussed thoroughly in subsequent sections.\n\nInput format is determined automatically based on the given date except when\nusing custom timestamps, in which case it needs to be given using\n``date_format`` argument. Default result format is timestamp, but it can\nbe overridden using ``result_format`` argument.\n\n== Timestamp ==\n\nIf a date is given as a string, it is always considered to be a timestamp.\nIf no custom formatting is given using ``date_format`` argument, the timestamp\nis expected to be in [http://en.wikipedia.org/wiki/ISO_8601|ISO 8601] like\nformat ``YYYY-MM-DD hh:mm:ss.mil``, where any non-digit character can be used\nas a separator or separators can be omitted altogether. Additionally,\nonly the date part is mandatory, all possibly missing time components are\nconsidered to be zeros.\n\nDates can also be returned in the same ``YYYY-MM-DD hh:mm:ss.mil`` format by\nusing ``timestamp`` value with ``result_format`` argument. This is also the\ndefault format that keywords returning dates use. Milliseconds can be excluded\nusing ``exclude_millis`` as explained in `Millisecond handling` section.\n\nExamples:\n| ${date1} =      | Convert Date | 2014-06-11 10:07:42.000 |\n| ${date2} =      | Convert Date | 20140611 100742         | result_format=timestamp |\n| Should Be Equal | ${date1}     | ${date2}                |\n| ${date} =       | Convert Date | 20140612 12:57          | exclude_millis=yes |\n| Should Be Equal | ${date}      | 2014-06-12 12:57:00     |\n\n== Custom timestamp ==\n\nIt is possible to use custom timestamps in both input and output.\nThe custom format is same as accepted by Python's\n[http://docs.python.org/library/datetime.html#strftime-strptime-behavior|\ndatetime.strptime] function. For example, the default timestamp discussed\nin the previous section would match ``%Y-%m-%d %H:%M:%S.%f``.\n\nWhen using a custom timestamp in input, it must be specified using\n``date_format`` argument. The actual input value must be a string that matches\nthe specified format exactly. When using a custom timestamp in output, it must\nbe given using ``result_format`` argument.\n\nExamples:\n| ${date} =       | Convert Date | 28.05.2014 12:05        | date_format=%d.%m.%Y %H:%M |\n| Should Be Equal | ${date}      | 2014-05-28 12:05:00.000 |\n| ${date} =       | Convert Date | ${date}                 | result_format=%d.%m.%Y |\n| Should Be Equal | ${date}      | 28.05.2014              |\n\n== Python datetime ==\n\nPython's standard\n[https://docs.python.org/library/datetime.html#datetime.datetime|datetime]\nobjects can be used both in input and output. In input, they are recognized\nautomatically, and in output it is possible to get them by using the ``datetime``\nvalue with the ``result_format`` argument.\n\nOne nice benefit with datetime objects is that they have different time\ncomponents available as attributes that can be easily accessed using the\nextended variable syntax.\n\nExamples:\n| ${datetime} = | Convert Date | 2014-06-11 10:07:42.123 | datetime |\n| Should Be Equal As Integers | ${datetime.year}        | 2014   |\n| Should Be Equal As Integers | ${datetime.month}       | 6      |\n| Should Be Equal As Integers | ${datetime.day}         | 11     |\n| Should Be Equal As Integers | ${datetime.hour}        | 10     |\n| Should Be Equal As Integers | ${datetime.minute}      | 7      |\n| Should Be Equal As Integers | ${datetime.second}      | 42     |\n| Should Be Equal As Integers | ${datetime.microsecond} | 123000 |\n\n== Python date ==\n\nPython's standard [https://docs.python.org/library/datetime.html#datetime.date|date]\nobjects are automatically recognized in input starting from Robot Framework 7.0.\nThey are not supported in output, but ``datetime`` objects can be converted\nto ``date`` objects if needed:\n\n| ${datetime} = | Convert Date | 2023-12-18 11:10:42 | datetime |\n| Log | ${datetime.date()} | # The time part is ignored. |\n\n== Epoch time ==\n\nEpoch time is the time in seconds since the\n[http://en.wikipedia.org/wiki/Unix_time|UNIX epoch] i.e. 00:00:00.000 (UTC)\nJanuary 1, 1970. To give a date as an epoch time, it must be given as a number\n(integer or float), not as a string. To return a date as an epoch time,\nit is possible to use ``epoch`` value with ``result_format`` argument.\nEpoch times are returned as floating point numbers.\n\nNotice that epoch times are independent on time zones and thus same\naround the world at a certain time. For example, epoch times returned\nby `Get Current Date` are not affected by the ``time_zone`` argument.\nWhat local time a certain epoch time matches then depends on the time zone.\n\nFollowing examples demonstrate using epoch times. They are tested in Finland,\nand due to the reasons explained above they would fail on other time zones.\n\n| ${date} =       | Convert Date | ${1000000000}           |\n| Should Be Equal | ${date}      | 2001-09-09 04:46:40.000 |\n| ${date} =       | Convert Date | 2014-06-12 13:27:59.279 | epoch |\n| Should Be Equal | ${date}      | ${1402568879.279}       |\n\n== Earliest supported date ==\n\nThe earliest date that is supported depends on the date format and to some\nextent on the platform:\n\n- Timestamps support year 1900 and above.\n- Python datetime objects support year 1 and above.\n- Epoch time supports 1970 and above on Windows.\n- On other platforms epoch time supports 1900 and above or even earlier.\n\n= Time formats =\n\nSimilarly as dates, times can be given to and received from keywords in\nvarious different formats. Supported formats are `number`, `time string`\n(verbose and compact), `timer string` and `Python timedelta`.\n\nInput format for time is always determined automatically based on the input.\nResult format is number by default, but it can be customised using\n``result_format`` argument.\n\n== Number ==\n\nTime given as a number is interpreted to be seconds. It can be given\neither as an integer or a float, or it can be a string that can be converted\nto a number.\n\nTo return a time as a number, ``result_format`` argument must have value\n``number``, which is also the default. Returned number is always a float.\n\nExamples:\n| ${time} =       | Convert Time | 3.14    |\n| Should Be Equal | ${time}      | ${3.14} |\n| ${time} =       | Convert Time | ${time} | result_format=number |\n| Should Be Equal | ${time}      | ${3.14} |\n\n== Time string ==\n\nTime strings are strings in format like ``1 minute 42 seconds`` or ``1min 42s``.\nThe basic idea of this format is having first a number and then a text\nspecifying what time that number represents. Numbers can be either\nintegers or floating point numbers, the whole format is case and space\ninsensitive, and it is possible to add a minus prefix to specify negative\ntimes. The available time specifiers are:\n\n- ``weeks``, ``week``, ``w`` (new in RF 7.1)\n- ``days``, ``day``, ``d``\n- ``hours``, ``hour``, ``h``\n- ``minutes``, ``minute``, ``mins``, ``min``, ``m``\n- ``seconds``, ``second``, ``secs``, ``sec``, ``s``\n- ``milliseconds``, ``millisecond``, ``millis``, ``ms``\n- ``microseconds``, ``microsecond``, ``us``, ``\u03bcs`` (new in RF 6.0)\n- ``nanoseconds``, ``nanosecond``, ``ns`` (new in RF 6.0)\n\nWhen returning a time string, it is possible to select between ``verbose``\nand ``compact`` representations using ``result_format`` argument. The verbose\nformat uses long specifiers ``week``, ``day``, ``hour``, ``minute``, ``second`` and\n``millisecond``, and adds ``s`` at the end when needed. The compact format uses\nshorter specifiers ``w``, ``d``, ``h``, ``min``, ``s`` and ``ms``, and even drops\nthe space between the number and the specifier.\n\nExamples:\n| ${time} =       | Convert Time | 1 minute 42 seconds |\n| Should Be Equal | ${time}      | ${102}              |\n| ${time} =       | Convert Time | 4200                | verbose |\n| Should Be Equal | ${time}      | 1 hour 10 minutes   |\n| ${time} =       | Convert Time | - 1.5 hours         | compact |\n| Should Be Equal | ${time}      | - 1h 30min          |\n\n== Timer string ==\n\nTimer string is a string given in timer like format ``hh:mm:ss.mil``. In this\nformat both hour and millisecond parts are optional, leading and trailing\nzeros can be left out when they are not meaningful, and negative times can\nbe represented by adding a minus prefix.\n\nTo return a time as timer string, ``result_format`` argument must be given\nvalue ``timer``. Timer strings are by default returned in full ``hh:mm:ss.mil``\nformat, but milliseconds can be excluded using ``exclude_millis`` as explained\nin `Millisecond handling` section.\n\nExamples:\n| ${time} =       | Convert Time | 01:42        |\n| Should Be Equal | ${time}      | ${102}       |\n| ${time} =       | Convert Time | 01:10:00.123 |\n| Should Be Equal | ${time}      | ${4200.123}  |\n| ${time} =       | Convert Time | 102          | timer |\n| Should Be Equal | ${time}      | 00:01:42.000 |\n| ${time} =       | Convert Time | -101.567     | timer | exclude_millis=yes |\n| Should Be Equal | ${time}      | -00:01:42    |\n\n== Python timedelta ==\n\nPython's standard\n[http://docs.python.org/library/datetime.html#datetime.timedelta|timedelta]\nobjects are also supported both in input and in output. In input they are\nrecognized automatically, and in output it is possible to receive them by\ngiving ``timedelta`` value to ``result_format`` argument.\n\nExamples:\n| ${timedelta} =  | Convert Time                 | 01:10:02.123 | timedelta |\n| Should Be Equal | ${timedelta.total_seconds()} | ${4202.123}  |\n\n= Millisecond handling =\n\nThis library handles dates and times internally using the precision of the\ngiven input. With `timestamp`, `time string`, and `timer string` result\nformats seconds are, however, rounded to millisecond accuracy. Milliseconds\nmay also be included even if there would be none.\n\nAll keywords returning dates or times have an option to leave milliseconds out\nby giving a true value to ``exclude_millis`` argument. If the argument is given\nas a string, it is considered true unless it is empty or case-insensitively\nequal to ``false``, ``none`` or ``no``. Other argument types are tested using\nsame [http://docs.python.org/library/stdtypes.html#truth|rules as in\nPython].\n\nWhen milliseconds are excluded, seconds in returned dates and times are\nrounded to the nearest full second. With `timestamp` and `timer string`\nresult formats, milliseconds will also be removed from the returned string\naltogether.\n\nExamples:\n| ${date} =       | Convert Date | 2014-06-11 10:07:42     |\n| Should Be Equal | ${date}      | 2014-06-11 10:07:42.000 |\n| ${date} =       | Convert Date | 2014-06-11 10:07:42.500 | exclude_millis=yes |\n| Should Be Equal | ${date}      | 2014-06-11 10:07:43     |\n| ${dt} =         | Convert Date | 2014-06-11 10:07:42.500 | datetime | exclude_millis=yes |\n| Should Be Equal | ${dt.second} | ${43}        |\n| Should Be Equal | ${dt.microsecond} | ${0}    |\n| ${time} =       | Convert Time | 102          | timer | exclude_millis=false |\n| Should Be Equal | ${time}      | 00:01:42.000 |       |\n| ${time} =       | Convert Time | 102.567      | timer | exclude_millis=true |\n| Should Be Equal | ${time}      | 00:01:43     |       |\n\n= Programmatic usage =\n\nIn addition to be used as normal library, this library is intended to\nprovide a stable API for other libraries to use if they want to support\nsame date and time formats as this library. All the provided keywords\nare available as functions that can be easily imported:\n\n| from robot.libraries.DateTime import convert_time\n|\n| def example_keyword(timeout):\n|     seconds = convert_time(timeout)\n|     # ...\n\nAdditionally, helper classes ``Date`` and ``Time`` can be used directly:\n\n| from robot.libraries.DateTime import Date, Time\n|\n| def example_keyword(date, interval):\n|     date = Date(date).convert('datetime')\n|     interval = Time(interval).convert('number')\n|     # ...",
  "version": "7.2.dev1",
  "generated": "2024-10-02T23:00:46+00:00",
  "type": "LIBRARY",
  "scope": "GLOBAL",
  "docFormat": "ROBOT",
  "source": "/home/peke/Devel/robotframework/src/robot/libraries/DateTime.py",
  "lineno": 1,
  "tags": [],
  "inits": [],
  "keywords": [
    {
      "name": "Add Time To Date",
      "args": [
        {
          "name": "date",
          "type": null,
          "defaultValue": null,
          "kind": "POSITIONAL_OR_NAMED",
          "required": true,
          "repr": "date"
        },
        {
          "name": "time",
          "type": null,
          "defaultValue": null,
          "kind": "POSITIONAL_OR_NAMED",
          "required": true,
          "repr": "time"
        },
        {
          "name": "result_format",
          "type": null,
          "defaultValue": "timestamp",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "result_format=timestamp"
        },
        {
          "name": "exclude_millis",
          "type": null,
          "defaultValue": "False",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "exclude_millis=False"
        },
        {
          "name": "date_format",
          "type": null,
          "defaultValue": "None",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "date_format=None"
        }
      ],
      "returnType": null,
      "doc": "Adds time to date and returns the resulting date.\n\nArguments:\n- ``date:``           Date to add time to in one of the supported\n                      `date formats`.\n- ``time:``           Time that is added in one of the supported\n                      `time formats`.\n- ``result_format:``  Format of the returned date.\n- ``exclude_millis:`` When set to any true value, rounds and drops\n                      milliseconds as explained in `millisecond handling`.\n- ``date_format:``    Possible `custom timestamp` format of ``date``.\n\nExamples:\n| ${date} =       | Add Time To Date | 2014-05-28 12:05:03.111 | 7 days       |\n| Should Be Equal | ${date}          | 2014-06-04 12:05:03.111 |              |\n| ${date} =       | Add Time To Date | 2014-05-28 12:05:03.111 | 01:02:03:004 |\n| Should Be Equal | ${date}          | 2014-05-28 13:07:06.115 |",
      "shortdoc": "Adds time to date and returns the resulting date.",
      "tags": [],
      "source": "/home/peke/Devel/robotframework/src/robot/libraries/DateTime.py",
      "lineno": 431
    },
    {
      "name": "Add Time To Time",
      "args": [
        {
          "name": "time1",
          "type": null,
          "defaultValue": null,
          "kind": "POSITIONAL_OR_NAMED",
          "required": true,
          "repr": "time1"
        },
        {
          "name": "time2",
          "type": null,
          "defaultValue": null,
          "kind": "POSITIONAL_OR_NAMED",
          "required": true,
          "repr": "time2"
        },
        {
          "name": "result_format",
          "type": null,
          "defaultValue": "number",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "result_format=number"
        },
        {
          "name": "exclude_millis",
          "type": null,
          "defaultValue": "False",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "exclude_millis=False"
        }
      ],
      "returnType": null,
      "doc": "Adds time to another time and returns the resulting time.\n\nArguments:\n- ``time1:``          First time in one of the supported `time formats`.\n- ``time2:``          Second time in one of the supported `time formats`.\n- ``result_format:``  Format of the returned time.\n- ``exclude_millis:`` When set to any true value, rounds and drops\n                      milliseconds as explained in `millisecond handling`.\n\nExamples:\n| ${time} =       | Add Time To Time | 1 minute          | 42       |\n| Should Be Equal | ${time}          | ${102}            |\n| ${time} =       | Add Time To Time | 3 hours 5 minutes | 01:02:03 | timer | exclude_millis=yes |\n| Should Be Equal | ${time}          | 04:07:03          |",
      "shortdoc": "Adds time to another time and returns the resulting time.",
      "tags": [],
      "source": "/home/peke/Devel/robotframework/src/robot/libraries/DateTime.py",
      "lineno": 479
    },
    {
      "name": "Convert Date",
      "args": [
        {
          "name": "date",
          "type": null,
          "defaultValue": null,
          "kind": "POSITIONAL_OR_NAMED",
          "required": true,
          "repr": "date"
        },
        {
          "name": "result_format",
          "type": null,
          "defaultValue": "timestamp",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "result_format=timestamp"
        },
        {
          "name": "exclude_millis",
          "type": null,
          "defaultValue": "False",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "exclude_millis=False"
        },
        {
          "name": "date_format",
          "type": null,
          "defaultValue": "None",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "date_format=None"
        }
      ],
      "returnType": null,
      "doc": "Converts between supported `date formats`.\n\nArguments:\n- ``date:``           Date in one of the supported `date formats`.\n- ``result_format:``  Format of the returned date.\n- ``exclude_millis:`` When set to any true value, rounds and drops\n                      milliseconds as explained in `millisecond handling`.\n- ``date_format:``    Specifies possible `custom timestamp` format.\n\nExamples:\n| ${date} =       | Convert Date | 20140528 12:05:03.111   |\n| Should Be Equal | ${date}      | 2014-05-28 12:05:03.111 |\n| ${date} =       | Convert Date | ${date}                 | epoch |\n| Should Be Equal | ${date}      | ${1401267903.111}       |\n| ${date} =       | Convert Date | 5.28.2014 12:05         | exclude_millis=yes | date_format=%m.%d.%Y %H:%M |\n| Should Be Equal | ${date}      | 2014-05-28 12:05:00     |",
      "shortdoc": "Converts between supported `date formats`.",
      "tags": [],
      "source": "/home/peke/Devel/robotframework/src/robot/libraries/DateTime.py",
      "lineno": 363
    },
    {
      "name": "Convert Time",
      "args": [
        {
          "name": "time",
          "type": null,
          "defaultValue": null,
          "kind": "POSITIONAL_OR_NAMED",
          "required": true,
          "repr": "time"
        },
        {
          "name": "result_format",
          "type": null,
          "defaultValue": "number",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "result_format=number"
        },
        {
          "name": "exclude_millis",
          "type": null,
          "defaultValue": "False",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "exclude_millis=False"
        }
      ],
      "returnType": null,
      "doc": "Converts between supported `time formats`.\n\nArguments:\n- ``time:``           Time in one of the supported `time formats`.\n- ``result_format:``  Format of the returned time.\n- ``exclude_millis:`` When set to any true value, rounds and drops\n                      milliseconds as explained in `millisecond handling`.\n\nExamples:\n| ${time} =       | Convert Time  | 10 seconds        |\n| Should Be Equal | ${time}       | ${10}             |\n| ${time} =       | Convert Time  | 1:00:01           | verbose |\n| Should Be Equal | ${time}       | 1 hour 1 second   |\n| ${time} =       | Convert Time  | ${3661.5} | timer | exclude_milles=yes |\n| Should Be Equal | ${time}       | 01:01:02          |",
      "shortdoc": "Converts between supported `time formats`.",
      "tags": [],
      "source": "/home/peke/Devel/robotframework/src/robot/libraries/DateTime.py",
      "lineno": 385
    },
    {
      "name": "Get Current Date",
      "args": [
        {
          "name": "time_zone",
          "type": null,
          "defaultValue": "local",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "time_zone=local"
        },
        {
          "name": "increment",
          "type": null,
          "defaultValue": "0",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "increment=0"
        },
        {
          "name": "result_format",
          "type": null,
          "defaultValue": "timestamp",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "result_format=timestamp"
        },
        {
          "name": "exclude_millis",
          "type": null,
          "defaultValue": "False",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "exclude_millis=False"
        }
      ],
      "returnType": null,
      "doc": "Returns current local or UTC time with an optional increment.\n\nArguments:\n- ``time_zone:``      Get the current time on this time zone. Currently only\n                      ``local`` (default) and ``UTC`` are supported.\n                      Has no effect if date is returned as an `epoch time`.\n- ``increment:``      Optional time increment to add to the returned date in\n                      one of the supported `time formats`. Can be negative.\n- ``result_format:``  Format of the returned date (see `date formats`).\n- ``exclude_millis:`` When set to any true value, rounds and drops\n                      milliseconds as explained in `millisecond handling`.\n\nExamples:\n| ${date} =       | Get Current Date |\n| Should Be Equal | ${date}          | 2014-06-12 20:00:58.946 |\n| ${date} =       | Get Current Date | UTC                     |\n| Should Be Equal | ${date}          | 2014-06-12 17:00:58.946 |\n| ${date} =       | Get Current Date | increment=02:30:00      |\n| Should Be Equal | ${date}          | 2014-06-12 22:30:58.946 |\n| ${date} =       | Get Current Date | UTC                     | - 5 hours |\n| Should Be Equal | ${date}          | 2014-06-12 12:00:58.946 |\n| ${date} =       | Get Current Date | result_format=datetime  |\n| Should Be Equal | ${date.year}     | ${2014}                 |\n| Should Be Equal | ${date.month}    | ${6}                    |",
      "shortdoc": "Returns current local or UTC time with an optional increment.",
      "tags": [],
      "source": "/home/peke/Devel/robotframework/src/robot/libraries/DateTime.py",
      "lineno": 321
    },
    {
      "name": "Subtract Date From Date",
      "args": [
        {
          "name": "date1",
          "type": null,
          "defaultValue": null,
          "kind": "POSITIONAL_OR_NAMED",
          "required": true,
          "repr": "date1"
        },
        {
          "name": "date2",
          "type": null,
          "defaultValue": null,
          "kind": "POSITIONAL_OR_NAMED",
          "required": true,
          "repr": "date2"
        },
        {
          "name": "result_format",
          "type": null,
          "defaultValue": "number",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "result_format=number"
        },
        {
          "name": "exclude_millis",
          "type": null,
          "defaultValue": "False",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "exclude_millis=False"
        },
        {
          "name": "date1_format",
          "type": null,
          "defaultValue": "None",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "date1_format=None"
        },
        {
          "name": "date2_format",
          "type": null,
          "defaultValue": "None",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "date2_format=None"
        }
      ],
      "returnType": null,
      "doc": "Subtracts date from another date and returns time between.\n\nArguments:\n- ``date1:``          Date to subtract another date from in one of the\n                      supported `date formats`.\n- ``date2:``          Date that is subtracted in one of the supported\n                      `date formats`.\n- ``result_format:``  Format of the returned time (see `time formats`).\n- ``exclude_millis:`` When set to any true value, rounds and drops\n                      milliseconds as explained in `millisecond handling`.\n- ``date1_format:``   Possible `custom timestamp` format of ``date1``.\n- ``date2_format:``   Possible `custom timestamp` format of ``date2``.\n\n Examples:\n| ${time} =       | Subtract Date From Date | 2014-05-28 12:05:52     | 2014-05-28 12:05:10 |\n| Should Be Equal | ${time}                 | ${42}                   |\n| ${time} =       | Subtract Date From Date | 2014-05-28 12:05:52     | 2014-05-27 12:05:10 | verbose |\n| Should Be Equal | ${time}                 | 1 day 42 seconds        |",
      "shortdoc": "Subtracts date from another date and returns time between.",
      "tags": [],
      "source": "/home/peke/Devel/robotframework/src/robot/libraries/DateTime.py",
      "lineno": 405
    },
    {
      "name": "Subtract Time From Date",
      "args": [
        {
          "name": "date",
          "type": null,
          "defaultValue": null,
          "kind": "POSITIONAL_OR_NAMED",
          "required": true,
          "repr": "date"
        },
        {
          "name": "time",
          "type": null,
          "defaultValue": null,
          "kind": "POSITIONAL_OR_NAMED",
          "required": true,
          "repr": "time"
        },
        {
          "name": "result_format",
          "type": null,
          "defaultValue": "timestamp",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "result_format=timestamp"
        },
        {
          "name": "exclude_millis",
          "type": null,
          "defaultValue": "False",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "exclude_millis=False"
        },
        {
          "name": "date_format",
          "type": null,
          "defaultValue": "None",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "date_format=None"
        }
      ],
      "returnType": null,
      "doc": "Subtracts time from date and returns the resulting date.\n\nArguments:\n- ``date:``           Date to subtract time from in one of the supported\n                      `date formats`.\n- ``time:``           Time that is subtracted in one of the supported\n                     `time formats`.\n- ``result_format:``  Format of the returned date.\n- ``exclude_millis:`` When set to any true value, rounds and drops\n                      milliseconds as explained in `millisecond handling`.\n- ``date_format:``    Possible `custom timestamp` format of ``date``.\n\nExamples:\n| ${date} =       | Subtract Time From Date | 2014-06-04 12:05:03.111 | 7 days |\n| Should Be Equal | ${date}                 | 2014-05-28 12:05:03.111 |\n| ${date} =       | Subtract Time From Date | 2014-05-28 13:07:06.115 | 01:02:03:004 |\n| Should Be Equal | ${date}                 | 2014-05-28 12:05:03.111 |",
      "shortdoc": "Subtracts time from date and returns the resulting date.",
      "tags": [],
      "source": "/home/peke/Devel/robotframework/src/robot/libraries/DateTime.py",
      "lineno": 455
    },
    {
      "name": "Subtract Time From Time",
      "args": [
        {
          "name": "time1",
          "type": null,
          "defaultValue": null,
          "kind": "POSITIONAL_OR_NAMED",
          "required": true,
          "repr": "time1"
        },
        {
          "name": "time2",
          "type": null,
          "defaultValue": null,
          "kind": "POSITIONAL_OR_NAMED",
          "required": true,
          "repr": "time2"
        },
        {
          "name": "result_format",
          "type": null,
          "defaultValue": "number",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "result_format=number"
        },
        {
          "name": "exclude_millis",
          "type": null,
          "defaultValue": "False",
          "kind": "POSITIONAL_OR_NAMED",
          "required": false,
          "repr": "exclude_millis=False"
        }
      ],
      "returnType": null,
      "doc": "Subtracts time from another time and returns the resulting time.\n\nArguments:\n- ``time1:``          Time to subtract another time from in one of\n                      the supported `time formats`.\n- ``time2:``          Time to subtract in one of the supported `time formats`.\n- ``result_format:``  Format of the returned time.\n- ``exclude_millis:`` When set to any true value, rounds and drops\n                      milliseconds as explained in `millisecond handling`.\n\nExamples:\n| ${time} =       | Subtract Time From Time | 00:02:30 | 100      |\n| Should Be Equal | ${time}                 | ${50}    |\n| ${time} =       | Subtract Time From Time | ${time}  | 1 minute | compact |\n| Should Be Equal | ${time}                 | - 10s    |",
      "shortdoc": "Subtracts time from another time and returns the resulting time.",
      "tags": [],
      "source": "/home/peke/Devel/robotframework/src/robot/libraries/DateTime.py",
      "lineno": 500
    }
  ],
  "typedocs": []
}