def subtract_time_from_date(date, time, result_format='timestamp', exclude_millis=False, date_format=None): """Subtracts time from date and returns the resulting date. Arguments: - ``date:`` Date to subtract time from in one of the supported `date formats`. - ``time:`` Time that is subtracted in one of the supported `time formats`. - ``result_format:`` Format of the returned date. - ``exclude_millis:`` When set to any true value, rounds and drops milliseconds as explained in `millisecond handling`. - ``date_format:`` Possible `custom timestamp` format of ``date``. Examples: | ${date} = | Subtract Time From Date | 2014-06-04 12:05:03.111 | 7 days | | Should Be Equal | ${date} | 2014-05-28 12:05:03.111 | | ${date} = | Subtract Time From Date | 2014-05-28 13:07:06.115 | 01:02:03:004 | | Should Be Equal | ${date} | 2014-05-28 12:05:03.111 | """ date = Date(date, date_format) - Time(time) return date.convert(result_format, millis=is_falsy(exclude_millis))
def get_current_date(time_zone="local", increment=0, result_format="timestamp", exclude_millis=False): """Returns current local or UTC time with an optional increment. Arguments: - ``time_zone:`` Get the current time on this time zone. Currently only ``local`` (default) and ``UTC`` are supported. - ``increment:`` Optional time increment to add to the returned date in one of the supported `time formats`. Can be negative. - ``result_format:`` Format of the returned date (see `date formats`). - ``exclude_millis:`` When set to any true value, rounds and drops milliseconds as explained in `millisecond handling`. Examples: | ${date} = | Get Current Date | | Should Be Equal | ${date} | 2014-06-12 20:00:58.946 | | ${date} = | Get Current Date | UTC | | Should Be Equal | ${date} | 2014-06-12 17:00:58.946 | | ${date} = | Get Current Date | increment=02:30:00 | | Should Be Equal | ${date} | 2014-06-12 22:30:58.946 | | ${date} = | Get Current Date | UTC | - 5 hours | | Should Be Equal | ${date} | 2014-06-12 12:00:58.946 | | ${date} = | Get Current Date | result_format=datetime | | Should Be Equal | ${date.year} | ${2014} | | Should Be Equal | ${date.month} | ${6} | """ if time_zone.upper() == "LOCAL": dt = datetime.now() elif time_zone.upper() == "UTC": dt = datetime.utcnow() else: raise ValueError("Unsupported timezone '%s'." % time_zone) date = Date(dt) + Time(increment) return date.convert(result_format, millis=is_falsy(exclude_millis))
def subtract_date_from_date(date1, date2, result_format='number', exclude_millis=False, date1_format=None, date2_format=None): """Subtracts date from another date and returns time between. Arguments: - ``date1:`` Date to subtract another date from in one of the supported `date formats`. - ``date2:`` Date that is subtracted in one of the supported `date formats`. - ``result_format:`` Format of the returned time (see `time formats`). - ``exclude_millis:`` When set to any true value, rounds and drops milliseconds as explained in `millisecond handling`. - ``date1_format:`` Possible `custom timestamp` format of ``date1``. - ``date2_format:`` Possible `custom timestamp` format of ``date2``. Examples: | ${time} = | Subtract Date From Date | 2014-05-28 12:05:52 | 2014-05-28 12:05:10 | | Should Be Equal | ${time} | ${42} | | ${time} = | Subtract Date From Date | 2014-05-28 12:05:52 | 2014-05-27 12:05:10 | verbose | | Should Be Equal | ${time} | 1 day 42 seconds | """ time = Date(date1, date1_format) - Date(date2, date2_format) return time.convert(result_format, millis=is_falsy(exclude_millis))
def convert_time(time, result_format='number', exclude_millis=False): """Converts between supported `time formats`. Arguments: - ``time:`` Time in one of the supported `time formats`. - ``result_format:`` Format of the returned time. - ``exclude_millis:`` When set to any true value, rounds and drops milliseconds as explained in `millisecond handling`. Examples: | ${time} = | Convert Time | 10 seconds | | Should Be Equal | ${time} | ${10} | | ${time} = | Convert Time | 1:00:01 | verbose | | Should Be Equal | ${time} | 1 hour 1 second | | ${time} = | Convert Time | ${3661.5} | timer | exclude_milles=yes | | Should Be Equal | ${time} | 01:01:02 | """ return Time(time).convert(result_format, millis=is_falsy(exclude_millis))
def add_time_to_time(time1, time2, result_format="number", exclude_millis=False): """Adds time to another time and returns the resulting time. Arguments: - ``time1:`` First time in one of the supported `time formats`. - ``time2:`` Second time in one of the supported `time formats`. - ``result_format:`` Format of the returned time. - ``exclude_millis:`` When set to any true value, rounds and drops milliseconds as explained in `millisecond handling`. Examples: | ${time} = | Add Time To Time | 1 minute | 42 | | Should Be Equal | ${time} | ${102} | | ${time} = | Add Time To Time | 3 hours 5 minutes | 01:02:03 | timer | exclude_millis=yes | | Should Be Equal | ${time} | 04:07:03 | """ time = Time(time1) + Time(time2) return time.convert(result_format, millis=is_falsy(exclude_millis))
def convert_time(time, result_format="number", exclude_millis=False): """Converts between supported `time formats`. Arguments: - ``time:`` Time in one of the supported `time formats`. - ``result_format:`` Format of the returned time. - ``exclude_millis:`` When set to any true value, rounds and drops milliseconds as explained in `millisecond handling`. Examples: | ${time} = | Convert Time | 10 seconds | | Should Be Equal | ${time} | ${10} | | ${time} = | Convert Time | 1:00:01 | verbose | | Should Be Equal | ${time} | 1 hour 1 second | | ${time} = | Convert Time | ${3661.5} | timer | exclude_milles=yes | | Should Be Equal | ${time} | 01:01:02 | """ return Time(time).convert(result_format, millis=is_falsy(exclude_millis))
def subtract_time_from_time(time1, time2, result_format="number", exclude_millis=False): """Subtracts time from another time and returns the resulting time. Arguments: - ``time1:`` Time to subtract another time from in one of the supported `time formats`. - ``time2:`` Time to subtract in one of the supported `time formats`. - ``result_format:`` Format of the returned time. - ``exclude_millis:`` When set to any true value, rounds and drops milliseconds as explained in `millisecond handling`. Examples: | ${time} = | Subtract Time From Time | 00:02:30 | 100 | | Should Be Equal | ${time} | ${50} | | ${time} = | Subtract Time From Time | ${time} | 1 minute | compact | | Should Be Equal | ${time} | - 10s | """ time = Time(time1) - Time(time2) return time.convert(result_format, millis=is_falsy(exclude_millis))
def convert_date(date, result_format="timestamp", exclude_millis=False, date_format=None): """Converts between supported `date formats`. Arguments: - ``date:`` Date in one of the supported `date formats`. - ``result_format:`` Format of the returned date. - ``exclude_millis:`` When set to any true value, rounds and drops milliseconds as explained in `millisecond handling`. - ``date_format:`` Specifies possible `custom timestamp` format. Examples: | ${date} = | Convert Date | 20140528 12:05:03.111 | | Should Be Equal | ${date} | 2014-05-28 12:05:03.111 | | ${date} = | Convert Date | ${date} | epoch | | Should Be Equal | ${date} | ${1401267903.111} | | ${date} = | Convert Date | 5.28.2014 12:05 | exclude_millis=yes | date_format=%m.%d.%Y %H:%M | | Should Be Equal | ${date} | 2014-05-28 12:05:00 | """ return Date(date, date_format).convert(result_format, millis=is_falsy(exclude_millis))
def add_time_to_time(time1, time2, result_format='number', exclude_millis=False): """Adds time to another time and returns the resulting time. Arguments: - ``time1:`` First time in one of the supported `time formats`. - ``time2:`` Second time in one of the supported `time formats`. - ``result_format:`` Format of the returned time. - ``exclude_millis:`` When set to any true value, rounds and drops milliseconds as explained in `millisecond handling`. Examples: | ${time} = | Add Time To Time | 1 minute | 42 | | Should Be Equal | ${time} | ${102} | | ${time} = | Add Time To Time | 3 hours 5 minutes | 01:02:03 | timer | exclude_millis=yes | | Should Be Equal | ${time} | 04:07:03 | """ time = Time(time1) + Time(time2) return time.convert(result_format, millis=is_falsy(exclude_millis))
def subtract_time_from_date(date, time, result_format="timestamp", exclude_millis=False, date_format=None): """Subtracts time from date and returns the resulting date. Arguments: - ``date:`` Date to subtract time from in one of the supported `date formats`. - ``time:`` Time that is subtracted in one of the supported `time formats`. - ``result_format:`` Format of the returned date. - ``exclude_millis:`` When set to any true value, rounds and drops milliseconds as explained in `millisecond handling`. - ``date_format:`` Possible `custom timestamp` format of ``date``. Examples: | ${date} = | Subtract Time From Date | 2014-06-04 12:05:03.111 | 7 days | | Should Be Equal | ${date} | 2014-05-28 12:05:03.111 | | ${date} = | Subtract Time From Date | 2014-05-28 13:07:06.115 | 01:02:03:004 | | Should Be Equal | ${date} | 2014-05-28 12:05:03.111 | """ date = Date(date, date_format) - Time(time) return date.convert(result_format, millis=is_falsy(exclude_millis))
def subtract_time_from_time(time1, time2, result_format='number', exclude_millis=False): """Subtracts time from another time and returns the resulting time. Arguments: - ``time1:`` Time to subtract another time from in one of the supported `time formats`. - ``time2:`` Time to subtract in one of the supported `time formats`. - ``result_format:`` Format of the returned time. - ``exclude_millis:`` When set to any true value, rounds and drops milliseconds as explained in `millisecond handling`. Examples: | ${time} = | Subtract Time From Time | 00:02:30 | 100 | | Should Be Equal | ${time} | ${50} | | ${time} = | Subtract Time From Time | ${time} | 1 minute | compact | | Should Be Equal | ${time} | - 10s | """ time = Time(time1) - Time(time2) return time.convert(result_format, millis=is_falsy(exclude_millis))
def convert_date(date, result_format='timestamp', exclude_millis=False, date_format=None): """Converts between supported `date formats`. Arguments: - ``date:`` Date in one of the supported `date formats`. - ``result_format:`` Format of the returned date. - ``exclude_millis:`` When set to any true value, rounds and drops milliseconds as explained in `millisecond handling`. - ``date_format:`` Specifies possible `custom timestamp` format. Examples: | ${date} = | Convert Date | 20140528 12:05:03.111 | | Should Be Equal | ${date} | 2014-05-28 12:05:03.111 | | ${date} = | Convert Date | ${date} | epoch | | Should Be Equal | ${date} | ${1401267903.111} | | ${date} = | Convert Date | 5.28.2014 12:05 | exclude_millis=yes | date_format=%m.%d.%Y %H:%M | | Should Be Equal | ${date} | 2014-05-28 12:05:00 | """ return Date(date, date_format).convert(result_format, millis=is_falsy(exclude_millis))
def get_current_date(time_zone='local', increment=0, result_format='timestamp', exclude_millis=False): """Returns current local or UTC time with an optional increment. Arguments: - ``time_zone:`` Get the current time on this time zone. Currently only ``local`` (default) and ``UTC`` are supported. - ``increment:`` Optional time increment to add to the returned date in one of the supported `time formats`. Can be negative. - ``result_format:`` Format of the returned date (see `date formats`). - ``exclude_millis:`` When set to any true value, rounds and drops milliseconds as explained in `millisecond handling`. Examples: | ${date} = | Get Current Date | | Should Be Equal | ${date} | 2014-06-12 20:00:58.946 | | ${date} = | Get Current Date | UTC | | Should Be Equal | ${date} | 2014-06-12 17:00:58.946 | | ${date} = | Get Current Date | increment=02:30:00 | | Should Be Equal | ${date} | 2014-06-12 22:30:58.946 | | ${date} = | Get Current Date | UTC | - 5 hours | | Should Be Equal | ${date} | 2014-06-12 12:00:58.946 | | ${date} = | Get Current Date | result_format=datetime | | Should Be Equal | ${date.year} | ${2014} | | Should Be Equal | ${date.month} | ${6} | """ if time_zone.upper() == 'LOCAL': dt = datetime.now() elif time_zone.upper() == 'UTC': dt = datetime.utcnow() else: raise ValueError("Unsupported timezone '%s'." % time_zone) date = Date(dt) + Time(increment) return date.convert(result_format, millis=is_falsy(exclude_millis))
def subtract_date_from_date( date1, date2, result_format="number", exclude_millis=False, date1_format=None, date2_format=None ): """Subtracts date from another date and returns time between. Arguments: - ``date1:`` Date to subtract another date from in one of the supported `date formats`. - ``date2:`` Date that is subtracted in one of the supported `date formats`. - ``result_format:`` Format of the returned time (see `time formats`). - ``exclude_millis:`` When set to any true value, rounds and drops milliseconds as explained in `millisecond handling`. - ``date1_format:`` Possible `custom timestamp` format of ``date1``. - ``date2_format:`` Possible `custom timestamp` format of ``date2``. Examples: | ${time} = | Subtract Date From Date | 2014-05-28 12:05:52 | 2014-05-28 12:05:10 | | Should Be Equal | ${time} | ${42} | | ${time} = | Subtract Date From Date | 2014-05-28 12:05:52 | 2014-05-27 12:05:10 | verbose | | Should Be Equal | ${time} | 1 day 42 seconds | """ time = Date(date1, date1_format) - Date(date2, date2_format) return time.convert(result_format, millis=is_falsy(exclude_millis))