DateTimeUtils

Robot Framework library documentation

DateTimeUtils Documentation

Version 1.3.0 Scope GLOBAL 19 Keywords
Author: Black WidowMaintainer: Core TeamLicense: MITRobot Framework: >=7.0Python: >=3.9
Sample Usage
Robot
*** Settings ***
Library    DateTimeUtils

*** Test Cases ***
Example
    [Documentation]    Demonstrates using DateTimeUtils
    # add your keyword calls here

Introduction

Date and time utilities library for Robot Framework.

This library provides comprehensive date/time operations including:

  • Date parsing and formatting
  • Date arithmetic and calculations
  • Timezone conversions
  • Date comparisons
  • Timestamp operations

Arguments

format : Optional[str] default: None

Return Type

str

Documentation

Get current date and time.

Arguments:

  • format: Optional datetime format string (default: YYYY-MM-DD HH:MM:SS)

Returns: Current datetime as formatted string

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
Get Current DateTime Example
    ${now}    Get Current Datetime
    Should Not Be Empty     ${now}
    ${custom}    Get Current Datetime    format=%Y-%m-%d
    Should Match Regexp     ${custom}    \d{4}-\d{2}-\d{2}

Arguments

date_string : str
format : Optional[str] default: None

Return Type

datetime

Documentation

Parse a date string into datetime object.

Arguments:

  • date_string: Date string to parse
  • format: Optional format string (default: YYYY-MM-DD HH:MM:SS)

Returns: Datetime object

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
Parse DateTime Example
    ${dt}    Parse Datetime    2024-01-15 10:30:00
    Should Not Be None    ${dt}

Arguments

dt : datetime
format : str default: None

Return Type

str

Documentation

Format a datetime object to string.

Arguments:

  • dt: Datetime object to format
  • format: Format string (default: YYYY-MM-DD HH:MM:SS)

Returns: Formatted datetime string

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
Format DateTime Example
    ${dt}    Parse Datetime    2024-01-15 10:30:00
    ${formatted}    Format Datetime    ${dt}    format=%d/%m/%Y
    Should Be Equal     ${formatted}    15/01/2024

Arguments

date_string : str
days : int
format : Optional[str] default: None

Return Type

str

Documentation

Add days to a date.

Arguments:

  • date_string: Base date string
  • days: Number of days to add (can be negative)
  • format: Optional format string (default: YYYY-MM-DD HH:MM:SS)

Returns: New date as formatted string

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
Add Days Example
    ${future}    Add Days    2024-01-15 10:30:00    days=7
    ${past}    Add Days    2024-01-15 10:30:00    days=-3
    Should Not Be Equal     ${future}    ${past}

Arguments

date_string : str
hours : int
format : Optional[str] default: None

Return Type

str

Documentation

Add hours to a datetime.

Arguments:

  • date_string: Base datetime string
  • hours: Number of hours to add (can be negative)
  • format: Optional format string (default: YYYY-MM-DD HH:MM:SS)

Returns: New datetime as formatted string

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
Add Hours Example
    ${later}    Add Hours    2024-01-15 10:30:00    hours=5
    Should Not Be Equal     ${later}    2024-01-15 10:30:00

Arguments

date_string : str
minutes : int
format : Optional[str] default: None

Return Type

str

Documentation

Add minutes to a datetime.

Arguments:

  • date_string: Base datetime string
  • minutes: Number of minutes to add (can be negative)
  • format: Optional format string (default: YYYY-MM-DD HH:MM:SS)

Returns: New datetime as formatted string

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
Add Minutes Example
    ${later}    Add Minutes    2024-01-15 10:30:00    minutes=30
    Should Not Be Equal     ${later}    2024-01-15 10:30:00

Arguments

date1 : str
date2 : str
unit : str default: "days"
format : Optional[str] default: None

Return Type

int

Documentation

Calculate difference between two dates.

Arguments:

  • date1: First date string
  • date2: Second date string
  • unit: Unit of difference - "days", "hours", "minutes", "seconds" (default: days)
  • format: Optional format string (default: YYYY-MM-DD HH:MM:SS)

Returns: Difference as integer

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
Get Date Difference Example
    ${diff}    Get Date Difference    2024-01-15    2024-01-20    unit=days
    Should Be Equal As Integers     ${diff}    ${5}

Arguments

date1 : str
date2 : str
format : Optional[str] default: None

Return Type

bool

Documentation

Check if first date is before second date.

Arguments:

  • date1: First date string
  • date2: Second date string
  • format: Optional format string (default: YYYY-MM-DD HH:MM:SS)

Returns: True if date1 is before date2, False otherwise

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
Is Date Before Example
    ${result}    Is Date Before    2024-01-15    2024-01-20
    Should Be True     ${result}

Arguments

date1 : str
date2 : str
format : Optional[str] default: None

Return Type

bool

Documentation

Check if first date is after second date.

Arguments:

  • date1: First date string
  • date2: Second date string
  • format: Optional format string (default: YYYY-MM-DD HH:MM:SS)

Returns: True if date1 is after date2, False otherwise

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
Is Date After Example
    ${result}    Is Date After    2024-01-20    2024-01-15
    Should Be True     ${result}

Return Type

float

Documentation

Get current Unix timestamp.

Returns: Unix timestamp as float

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
Get Timestamp Example
    ${ts}    Get Timestamp
    Should Be True     ${ts} > 0

Arguments

timestamp : float
format : Optional[str] default: None

Return Type

str

Documentation

Convert Unix timestamp to datetime string.

Arguments:

  • timestamp: Unix timestamp
  • format: Optional format string (default: YYYY-MM-DD HH:MM:SS)

Returns: Datetime string

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
Timestamp To DateTime Example
    ${ts}    Get Timestamp
    ${dt}    Timestamp To Datetime    ${ts}
    Should Not Be Empty     ${dt}

Arguments

date_string : str
format : Optional[str] default: None

Return Type

float

Documentation

Convert datetime string to Unix timestamp.

Arguments:

  • date_string: Datetime string
  • format: Optional format string (default: YYYY-MM-DD HH:MM:SS)

Returns: Unix timestamp as float

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
DateTime To Timestamp Example
    ${ts}    DateTime To Timestamp    2024-01-15 10:30:00
    Should Be True     ${ts} > 0

Arguments

date_string : str
format : Optional[str] default: None

Return Type

str

Documentation

Get day of week name for a date.

Arguments:

  • date_string: Date string
  • format: Optional format string (default: YYYY-MM-DD HH:MM:SS)

Returns: Day name (Monday, Tuesday, etc.)

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
Get Day Of Week Example
    ${day}    Get Day Of Week    2024-01-15
    Should Be Equal     ${day}    Monday

Arguments

date_string : str
format : Optional[str] default: None

Return Type

str

Documentation

Get month name for a date.

Arguments:

  • date_string: Date string
  • format: Optional format string (default: YYYY-MM-DD HH:MM:SS)

Returns: Month name (January, February, etc.)

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
Get Month Name Example
    ${month}    Get Month Name    2024-01-15
    Should Be Equal     ${month}    January

Arguments

date_string : str
format : Optional[str] default: None

Return Type

bool

Documentation

Check if a date falls on weekend.

Arguments:

  • date_string: Date string
  • format: Optional format string (default: YYYY-MM-DD HH:MM:SS)

Returns: True if weekend (Saturday or Sunday), False otherwise

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
Is Weekend Example
    ${result}    Is Weekend    2024-01-13
    Should Be True     ${result}

Arguments

date_string : str
format : Optional[str] default: None

Return Type

bool

Documentation

Check if a date falls on weekday.

Arguments:

  • date_string: Date string
  • format: Optional format string (default: YYYY-MM-DD HH:MM:SS)

Returns: True if weekday (Monday-Friday), False otherwise

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
Is Weekday Example
    ${result}    Is Weekday    2024-01-15
    Should Be True     ${result}

Arguments

date_string : str
format : Optional[str] default: None

Return Type

str

Documentation

Get start of day (00:00:00) for a date.

Arguments:

  • date_string: Date string
  • format: Optional format string (default: YYYY-MM-DD HH:MM:SS)

Returns: Datetime string with time set to 00:00:00

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
Get Start Of Day Example
    ${start}    Get Start Of Day    2024-01-15 14:30:00
    Should End With     ${start}    00:00:00

Arguments

date_string : str
format : Optional[str] default: None

Return Type

str

Documentation

Get end of day (23:59:59) for a date.

Arguments:

  • date_string: Date string
  • format: Optional format string (default: YYYY-MM-DD HH:MM:SS)

Returns: Datetime string with time set to 23:59:59

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
Get End Of Day Example
    ${end}    Get End Of Day    2024-01-15 14:30:00
    Should End With     ${end}    23:59:59

Arguments

birth_date : str
reference_date : Optional[str] default: None
format : Optional[str] default: None

Return Type

int

Documentation

Calculate age from birth date.

Arguments:

  • birth_date: Birth date string
  • reference_date: Optional reference date (default: current date)
  • format: Optional format string (default: YYYY-MM-DD HH:MM:SS)

Returns: Age in years

Example:

*** Settings ***
Library    DateTimeUtils


*** Test Cases ***
Get Age Example
    ${age}    Get Age    1990-01-15    reference_date=2024-01-15
    Should Be Equal As Integers     ${age}    ${34}

Need Help?

Found an issue or have a feature request for this library? Let the maintainers know by opening a new GitHub issue. Please include environment details and relevant log output to help us reproduce the problem.

Open an Issue on GitHub