# Locale fr_CA

## `faker.providers.address`

class faker.providers.address.fr_CA.Provider(*args: Any, **kwargs: Any)

  Bases: `Provider`

  address() → str
    Example:

      ‘791 Crist Parks, Sashabury, IL 86039-9874’

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.address()
        ...
        '48764 route Charron Apt. 824\nBaie-Mont--Boulanger, ON M6E 8C9'
        '5938 allé Fréchette Suite 080\nLac- Martineau, YT V6N 2K4'
        '87115 rue Gaudreault\nFortier, SK Y4N 9Y5'
        '659 boulevard Martin\nSaint- Bernard -sur-Mer, QC V3C3C1'
        '848 avenue Pauline Suite 947\nAuger, QC C8N6E4'

  administrative_unit() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.administrative_unit()
        ...
        'Nouvelle-Écosse'
        'Yukon'
        'Nouvelle-Écosse'
        'Alberta'
        'Terre-Neuve-et-Labrador'

  building_number() → str
    Example:

      ‘791’

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.building_number()
        ...
        '6048'
        '6475'
        '382'
        '2194'
        '924'

  city() → str
    Example:

      ‘Sashabury’

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.city()
        ...
        'Lac- Charles'
        "L'Île- Florence"
        'Mont- Émilie'
        'Sainte- Hélène'
        'Mont--Saint--St-Jean'

  city_prefix() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.city_prefix()
        ...
        'Lac-'
        'Lac-'
        'Ville'
        'Mont-'
        "L'Île-"

  city_suffix() → str
    Example:

      ‘town’

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.city_suffix()
        ...
        'Ouest'
        'Ouest'
        'Est'
        'Ouest'
        '-sur-Mer'

  country() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.country()
        ...
        'Tanzania'
        'Hungary'
        'Senegal'
        'Tuvalu'
        'Italy'

  country_code(representation: str = 'alpha-2') → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.country_code()
        ...
        'MV'
        'PS'
        'NL'
        'BB'
        'IL'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.country_code(representation='alpha-2')
        ...
        'MV'
        'PS'
        'NL'
        'BB'
        'IL'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.country_code(representation='alpha-3')
        ...
        'MDV'
        'PSE'
        'NLD'
        'BRB'
        'ISR'

  current_country() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.current_country()
        ...
        'Canada'
        'Canada'
        'Canada'
        'Canada'
        'Canada'

  current_country_code() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.current_country_code()
        ...
        'CA'
        'CA'
        'CA'
        'CA'
        'CA'

  postal_code_letter() → str

    Returns a random letter from the list of allowable letters in a canadian postal code

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.postal_code_letter()
        ...
        'R'
        'S'
        'B'
        'L'
        'X'

  postalcode() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.postalcode()
        ...
        'S9B8L7'
        'V9P3J5'
        'E3L 5Y2'
        'N2V 6Y7'
        'J8Y9V5'

  postalcode_in_province(province_abbr: str | None = None) → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.postalcode_in_province()
        ...
        'B8L7X5'
        'X5X3G2'
        'C2M6E8'
        'M4S 9N8'
        'X2Y7A1'

  postcode() → str

    Returns a random postcode

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.postcode()
        ...
        'S9B8L7'
        'V9P3J5'
        'E3L 5Y2'
        'N2V 6Y7'
        'J8Y9V5'

  postcode_in_province(province_abbr: str | None = None) → str

    Returns a random postcode within the provided province abbreviation

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.postcode_in_province()
        ...
        'B8L7X5'
        'X5X3G2'
        'C2M6E8'
        'M4S 9N8'
        'X2Y7A1'

  province() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.province()
        ...
        'Nouvelle-Écosse'
        'Yukon'
        'Nouvelle-Écosse'
        'Alberta'
        'Terre-Neuve-et-Labrador'

  province_abbr() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.province_abbr()
        ...
        'NS'
        'YT'
        'NS'
        'AB'
        'NL'

  secondary_address() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.secondary_address()
        ...
        'Suite 604'
        'Suite 647'
        'Suite 938'
        'Apt. 421'
        'Suite 892'

  street_address() → str
    Example:

      ‘791 Crist Parks’

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.street_address()
        ...
        '0487 boulevard Duguay Suite 593'
        '2194 boulevard Gilles'
        '578 route Danielle'
        '387 montée Ménard Apt. 801'
        '097 avenue Dupont Suite 139'

  street_name() → str
    Example:

      ‘Crist Parks’

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.street_name()
        ...
        'rang Ouellet'
        'montée Rioux'
        'boulevard Duguay'
        'route Charron'
        'montée Jonathan'

  street_prefix() → str
    Example:

      ‘rue’

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.street_prefix()
        ...
        'rang'
        'rang'
        'rue'
        'boulevard'
        'montée'

  street_suffix() → str
    Example:

      ‘Avenue’

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.street_suffix()
        ...
        'Vista'
        'Lights'
        'Trace'
        'Manor'
        'Canyon'

## `faker.providers.barcode`

class faker.providers.barcode.fr_CA.Provider(generator: Any)

  Bases: `Provider`

  Implement bank provider for `fr_CA` locale.

  There is no difference from the `en_CA` implementation.

  ean(length: int = 13, prefixes: Tuple[int | str | Tuple[int | str, ...], ...] = ()) → str

    Generate an EAN barcode of the specified `length`.

    The value of `length` can only be `8` or `13` (default) which will create an EAN-8 or an EAN-13 barcode respectively.

    If a value for `prefixes` is specified, the result will begin with one of the sequences in `prefixes`.

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.ean(length=13)
        ...
        '6604876475937'
        '8242194892418'
        '1578156593879'
        '7840801609759'
        '3513933287112'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.ean(length=8)
        ...
        '66048763'
        '47593824'
        '42194897'
        '24115780'
        '15659385'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.ean(prefixes=('00', ))
        ...
        '0004876475931'
        '0019489241156'
        '0056593877840'
        '0016097535134'
        '0087115871480'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.ean(prefixes=('45', '49'))
        ...
        '4504876475932'
        '4919489241155'
        '4556593877841'
        '4516097535135'
        '4987115871489'

  ean13(prefixes: Tuple[int | str | Tuple[int | str, ...], ...] = (), leading_zero: bool | None = None) → str

    Generate an EAN-13 barcode.

    If `leading_zero` is `True`, the leftmost digit of the barcode will be set to `0`. If `False`, the leftmost digit cannot be `0`. If `None` (default), the leftmost digit can be any digit.

    If a value for `prefixes` is specified, the result will begin with one of the sequences in `prefixes` and will ignore `leading_zero`.

    This method uses the standard barcode provider’s `ean13()` under the hood with the `prefixes` argument set to the correct value to attain the behavior described above.

    Note

    EAN-13 barcode that starts with a zero can be converted to UPC-A by dropping the leading zero. This may cause problems with readers that treat all of these code as UPC-A codes and drop the first digit when reading it.

    You can set the argument `prefixes` ( or `leading_zero` for convenience) explicitly to avoid or to force the generated barcode to start with a zero. You can also generate actual UPC-A barcode with `EnUsBarcodeProvider.upc_a()`.

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.ean13()
        ...
        '6604876475937'
        '8242194892418'
        '1578156593879'
        '7840801609759'
        '3513933287112'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.ean13(leading_zero=False)
        ...
        '7048764759386'
        '5194892411572'
        '6593877840809'
        '7975351393329'
        '2587148418587'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.ean13(leading_zero=True)
        ...
        '0604876475933'
        '0219489241150'
        '0156593877847'
        '0016097535134'
        '0287115871484'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.ean13(prefixes=('00', ))
        ...
        '0004876475931'
        '0019489241156'
        '0056593877840'
        '0016097535134'
        '0087115871480'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.ean13(prefixes=('45', '49'))
        ...
        '4504876475932'
        '4919489241155'
        '4556593877841'
        '4516097535135'
        '4987115871489'

  ean8(prefixes: Tuple[int | str | Tuple[int | str, ...], ...] = ()) → str

    Generate an EAN-8 barcode.

    This method uses `ean()` under the hood with the `length` argument explicitly set to `8`.

    If a value for `prefixes` is specified, the result will begin with one of the sequences in `prefixes`.

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.ean8()
        ...
        '66048763'
        '47593824'
        '42194897'
        '24115780'
        '15659385'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.ean8(prefixes=('00', ))
        ...
        '00048767'
        '00938242'
        '00489249'
        '00781565'
        '00877848'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.ean8(prefixes=('45', '49'))
        ...
        '49048766'
        '45938245'
        '45489242'
        '49781564'
        '45877841'

  localized_ean(length: int = 13) → str

    Generate a localized EAN barcode of the specified `length`.

    The value of `length` can only be `8` or `13` (default) which will create an EAN-8 or an EAN-13 barcode respectively.

    This method uses the standard barcode provider’s `ean()` under the hood with the `prefixes` argument explicitly set to `local_prefixes` of a localized barcode provider implementation.

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.localized_ean()
        ...
        '0804876475937'
        '7521948924119'
        '7581565938777'
        '0908016097536'
        '0839332871152'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.localized_ean(length=13)
        ...
        '0804876475937'
        '7521948924119'
        '7581565938777'
        '0908016097536'
        '0839332871152'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.localized_ean(length=8)
        ...
        '75048761'
        '06593827'
        '06948924'
        '07578151'
        '06387785'

  localized_ean13() → str

    Generate a localized EAN-13 barcode.

    This method uses `localized_ean()` under the hood with the `length` argument explicitly set to `13`.

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.localized_ean13()
        ...
        '0804876475937'
        '7521948924119'
        '7581565938777'
        '0908016097536'
        '0839332871152'

  localized_ean8() → str

    Generate a localized EAN-8 barcode.

    This method uses `localized_ean()` under the hood with the `length` argument explicitly set to `8`.

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.localized_ean8()
        ...
        '75048761'
        '06593827'
        '06948924'
        '07578151'
        '06387785'

  upc_a(upc_ae_mode: bool = False, base: str | None = None, number_system_digit: int | None = None) → str

    Generate a 12-digit UPC-A barcode.

    The value of `upc_ae_mode` controls how barcodes will be generated. If `False` (default), barcodes are not guaranteed to have a UPC-E equivalent. In this mode, the method uses `EnUsBarcodeProvider.ean13()` under the hood, and the values of `base` and `number_system_digit` will be ignored.

    If `upc_ae_mode` is `True`, the resulting barcodes are guaranteed to have a UPC-E equivalent, and the values of `base` and `number_system_digit` will be used to control what is generated.

    Under this mode, `base` is expected to have a 6-digit string value. If any other value is supplied, a random 6-digit string will be used instead. As for `number_system_digit`, the expected value is a `0` or a `1`. If any other value is provided, this method will randomly choose from the two.

    Important

    When `upc_ae_mode` is enabled, you might encounter instances where different values of `base` (e.g. `'120003'` and `'120004'`) produce the same UPC-A barcode. This is normal, and the reason lies within the whole conversion process. To learn more about this and what `base` and `number_system_digit` actually represent, please refer to `EnUsBarcodeProvider.upc_e()`.

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.upc_a()
        ...
        '604876475933'
        '219489241150'
        '156593877847'
        '016097535134'
        '287115871484'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.upc_a(upc_ae_mode=True, number_system_digit=0)
        ...
        '066048000075'
        '064700000593'
        '082421000098'
        '048100009240'
        '015781000057'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.upc_a(upc_ae_mode=True, number_system_digit=1)
        ...
        '166048000072'
        '164700000590'
        '182421000095'
        '148100009247'
        '115781000054'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.upc_a(upc_ae_mode=True, base='123456', number_system_digit=0)
        ...
        '012345000065'
        '012345000065'
        '012345000065'
        '012345000065'
        '012345000065'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.upc_a(upc_ae_mode=True, base='120003', number_system_digit=0)
        ...
        '012000000003'
        '012000000003'
        '012000000003'
        '012000000003'
        '012000000003'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.upc_a(upc_ae_mode=True, base='120004', number_system_digit=0)
        ...
        '012000000003'
        '012000000003'
        '012000000003'
        '012000000003'
        '012000000003'

  upc_e(base: str | None = None, number_system_digit: int | None = None, safe_mode: bool = True) → str

    Generate an 8-digit UPC-E barcode.

    UPC-E barcodes can be expressed in 6, 7, or 8-digit formats, but this method uses the 8 digit format, since it is trivial to convert to the other two formats. The first digit (starting from the left) is controlled by `number_system_digit`, and it can only be a `0` or a `1`. The last digit is the check digit that is inherited from the UPC-E barcode’s UPC-A equivalent. The middle six digits are collectively referred to as the `base` (for a lack of a better term).

    On that note, this method uses `base` and `number_system_digit` to first generate a UPC-A barcode for the check digit, and what happens next depends on the value of `safe_mode`. The argument `safe_mode` exists, because there are some UPC-E values that share the same UPC-A equivalent. For example, any UPC-E barcode of the form `abc0000d`, `abc0003d`, and `abc0004d` share the same UPC-A value `abc00000000d`, but that UPC-A value will only convert to `abc0000d` because of (a) how UPC-E is just a zero-suppressed version of UPC-A and (b) the rules around the conversion.

    If `safe_mode` is `True` (default), this method performs another set of conversions to guarantee that the UPC-E barcodes generated can be converted to UPC-A, and that UPC-A barcode can be converted back to the original UPC-E barcode. Using the example above, even if the bases `120003` or `120004` are used, the resulting UPC-E barcode will always use the base `120000`.

    If `safe_mode` is `False`, then the `number_system_digit`, `base`, and the computed check digit will just be concatenated together to produce the UPC-E barcode, and attempting to convert the barcode to UPC-A and back again to UPC-E will exhibit the behavior described above.

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.upc_e()
        ...
        '16604872'
        '04759386'
        '04219484'
        '04115786'
        '15659385'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.upc_e(base='123456')
        ...
        '11234562'
        '11234562'
        '01234565'
        '11234562'
        '11234562'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.upc_e(base='123456', number_system_digit=0)
        ...
        '01234565'
        '01234565'
        '01234565'
        '01234565'
        '01234565'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.upc_e(base='123456', number_system_digit=1)
        ...
        '11234562'
        '11234562'
        '11234562'
        '11234562'
        '11234562'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.upc_e(base='120000', number_system_digit=0)
        ...
        '01200003'
        '01200003'
        '01200003'
        '01200003'
        '01200003'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.upc_e(base='120003', number_system_digit=0)
        ...
        '01200003'
        '01200003'
        '01200003'
        '01200003'
        '01200003'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.upc_e(base='120004', number_system_digit=0)
        ...
        '01200003'
        '01200003'
        '01200003'
        '01200003'
        '01200003'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.upc_e(base='120000', number_system_digit=0, safe_mode=False)
        ...
        '01200003'
        '01200003'
        '01200003'
        '01200003'
        '01200003'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.upc_e(base='120003', number_system_digit=0, safe_mode=False)
        ...
        '01200033'
        '01200033'
        '01200033'
        '01200033'
        '01200033'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.upc_e(base='120004', number_system_digit=0, safe_mode=False)
        ...
        '01200043'
        '01200043'
        '01200043'
        '01200043'
        '01200043'

## `faker.providers.currency`

class faker.providers.currency.fr_CA.Provider(generator: Any)

  Bases: `Provider`

  cryptocurrency() → Tuple[str, str]
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.cryptocurrency()
        ...
        ('XRP', 'Ripple')
        ('STC', 'SwiftCoin')
        ('BC', 'BlackCoin')
        ('NXT', 'Nxt')
        ('IOTA', 'IOTA')

  cryptocurrency_code() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.cryptocurrency_code()
        ...
        'XRP'
        'STC'
        'BC'
        'NXT'
        'IOTA'

  cryptocurrency_name() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.cryptocurrency_name()
        ...
        'Ripple'
        'SwiftCoin'
        'BlackCoin'
        'Nxt'
        'IOTA'

  currency() → Tuple[str, str]
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.currency()
        ...
        ('MWK', 'Malawian kwacha')
        ('NZD', 'New Zealand dollar')
        ('BAM', 'Bosnia and Herzegovina convertible mark')
        ('IRR', 'Iranian rial')
        ('SPL', 'Seborga luigino')

  currency_code() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.currency_code()
        ...
        'MWK'
        'NZD'
        'BAM'
        'IRR'
        'SPL'

  currency_name() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.currency_name()
        ...
        'Malawian kwacha'
        'New Zealand dollar'
        'Bosnia and Herzegovina convertible mark'
        'Iranian rial'
        'Seborga luigino'

  currency_symbol(code: str | None = None) → str
    Example:

      $

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.currency_symbol()
        ...
        '$'
        '$'
        'KM'
        'kr'
        'L'

  pricetag() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.pricetag()
        ...
        '7.604,87\xa0$'
        '975,93\xa0$'
        '54,21\xa0$'
        '89.241,15\xa0$'
        '91.565,93\xa0$'

## `faker.providers.date_time`

class faker.providers.date_time.fr_CA.Provider(*args: Any, **kwargs: Any)

  Bases: `Provider`

  am_pm() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.am_pm()
        ...
        'AM'
        'AM'
        'PM'
        'AM'
        'AM'

  century() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.century()
        ...
        'XIII'
        'XIV'
        'II'
        'IX'
        'XVII'

  date(pattern: str = '%Y-%m-%d', end_datetime: date | datetime | timedelta | str | int | None = None) → str

    Get a date string between January 1, 1970 and now.

    Parameters:

      - pattern – Format of the date (year-month-day by default)

      - end_datetime – A `DateParseType`. Defaults to the current date and time

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date()
        ...
        '2017-04-10'
        '2012-06-07'
        '1993-07-18'
        '1984-06-30'
        '1998-08-16'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date(pattern='%m/%d/%Y')
        ...
        '04/10/2017'
        '06/07/2012'
        '07/18/1993'
        '06/30/1984'
        '08/16/1998'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date(end_datetime='+1w')
        ...
        '2017-04-15'
        '2012-06-12'
        '1993-07-21'
        '1984-07-01'
        '1998-08-19'

  date_between(start_date: date | datetime | timedelta | str | int = '-30y', end_date: date | datetime | timedelta | str | int = 'today') → date

    Get a Date object based on a random date between two given dates. Accepts date strings that can be recognized by strtotime().

    Parameters:

      - start_date – A `DateParseType`. Defaults to 30 years ago

      - end_date – A `DateParseType`. Defaults to `"today"`

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_between()
        ...
        datetime.date(2021, 4, 25)
        datetime.date(2018, 9, 20)
        datetime.date(2008, 8, 6)
        datetime.date(2003, 10, 1)
        datetime.date(2011, 4, 27)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_between(start_date='-1w')
        ...
        datetime.date(2025, 12, 23)
        datetime.date(2025, 12, 23)
        datetime.date(2025, 12, 20)
        datetime.date(2025, 12, 19)
        datetime.date(2025, 12, 21)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_between(start_date="-1y", end_date="+1w")
        ...
        datetime.date(2025, 11, 3)
        datetime.date(2025, 10, 2)
        datetime.date(2025, 5, 29)
        datetime.date(2025, 3, 30)
        datetime.date(2025, 7, 2)

  date_between_dates(date_start: date | datetime | timedelta | str | int | None = None, date_end: date | datetime | timedelta | str | int | None = None) → date

    Get a random date between the two given dates.

    Parameters:

      - date_start – A `DateParseType`. Defaults to the UNIX epoch

      - date_end – A `DateParseType`. Defaults to the current date and time

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_between_dates()
        ...
        datetime.date(2025, 12, 25)
        datetime.date(2025, 12, 25)
        datetime.date(2025, 12, 25)
        datetime.date(2025, 12, 25)
        datetime.date(2025, 12, 25)

  date_object(end_datetime: datetime | None = None) → date

    Get a date object between January 1, 1970 and now

    Parameters:

      end_datetime – A `DateParseType`. Defaults to the current date and time

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_object()
        ...
        datetime.date(2017, 4, 10)
        datetime.date(2012, 6, 7)
        datetime.date(1993, 7, 18)
        datetime.date(1984, 6, 30)
        datetime.date(1998, 8, 16)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_object(end_datetime='+1w')
        ...
        datetime.date(2017, 4, 15)
        datetime.date(2012, 6, 12)
        datetime.date(1993, 7, 21)
        datetime.date(1984, 7, 1)
        datetime.date(1998, 8, 19)

  date_of_birth(tzinfo: tzinfo | None = None, minimum_age: int = 0, maximum_age: int = 115) → date

    Generate a random date of birth represented as a Date object, constrained by optional miminimum_age and maximum_age parameters.

    Parameters:

      - tzinfo – Defaults to None.

      - minimum_age – Defaults to `0`.

      - maximum_age – Defaults to `115`.

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_of_birth()
        ...
        datetime.date(2007, 12, 8)
        datetime.date(1997, 11, 26)
        datetime.date(1958, 10, 8)
        datetime.date(1940, 1, 7)
        datetime.date(1969, 4, 16)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_of_birth(minimum_age=30, maximum_age=50)
        ...
        datetime.date(1992, 9, 17)
        datetime.date(1990, 11, 24)
        datetime.date(1983, 10, 24)
        datetime.date(1980, 6, 1)
        datetime.date(1985, 9, 19)

  date_this_century(before_today: bool = True, after_today: bool = False) → date

    Gets a Date object for the current century.

    Parameters:

      - before_today – include days in current century before today. Defaults to True

      - after_today – include days in current century after today. Defaults to False

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_this_century()
        ...
        datetime.date(2021, 12, 9)
        datetime.date(2019, 9, 10)
        datetime.date(2010, 12, 5)
        datetime.date(2006, 9, 23)
        datetime.date(2013, 4, 13)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_this_century(before_today=False, after_today=True)
        ...
        datetime.date(2088, 6, 25)
        datetime.date(2082, 1, 31)
        datetime.date(2057, 2, 10)
        datetime.date(2045, 2, 22)
        datetime.date(2063, 10, 29)

  date_this_decade(before_today: bool = True, after_today: bool = False) → date

    Gets a Date object for the decade year.

    Parameters:

      - before_today – include days in current decade before today. Defaults to True

      - after_today – include days in current decade after today. Defaults to False

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_this_decade()
        ...
        datetime.date(2025, 1, 19)
        datetime.date(2024, 7, 14)
        datetime.date(2022, 7, 7)
        datetime.date(2021, 7, 19)
        datetime.date(2023, 1, 22)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_this_decade(before_today=False, after_today=True)
        ...
        datetime.date(2029, 5, 17)
        datetime.date(2029, 1, 10)
        datetime.date(2027, 9, 3)
        datetime.date(2027, 1, 9)
        datetime.date(2028, 1, 14)

  date_this_month(before_today: bool = True, after_today: bool = False) → date

    Gets a Date object for the current month.

    Parameters:

      - before_today – include days in current month before today. Defaults to True

      - after_today – include days in current month after today. Defaults to False

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_this_month()
        ...
        datetime.date(2025, 12, 21)
        datetime.date(2025, 12, 19)
        datetime.date(2025, 12, 11)
        datetime.date(2025, 12, 7)
        datetime.date(2025, 12, 13)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_this_month(before_today=False, after_today=True)
        ...
        datetime.date(2025, 12, 30)
        datetime.date(2025, 12, 30)
        datetime.date(2025, 12, 27)
        datetime.date(2025, 12, 26)
        datetime.date(2025, 12, 28)

  date_this_year(before_today: bool = True, after_today: bool = False) → date

    Gets a Date object for the current year.

    Parameters:

      - before_today – include days in current year before today. Defaults to True

      - after_today – include days in current year after today. Defaults to False

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_this_year()
        ...
        datetime.date(2025, 10, 30)
        datetime.date(2025, 9, 29)
        datetime.date(2025, 5, 31)
        datetime.date(2025, 4, 3)
        datetime.date(2025, 7, 3)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_this_year(before_today=False, after_today=True)
        ...
        datetime.date(2025, 12, 30)
        datetime.date(2025, 12, 30)
        datetime.date(2025, 12, 27)
        datetime.date(2025, 12, 26)
        datetime.date(2025, 12, 28)

  date_time(tzinfo: tzinfo | None = None, end_datetime: date | datetime | timedelta | str | int | None = None) → datetime

    Get a datetime object for a date between January 1, 1970 and a specified end_datetime

    Parameters:

      - tzinfo – timezone, instance of datetime.tzinfo subclass

      - end_datetime – A `DateParseType`. Defaults to the current date and time

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_time()
        ...
        datetime.datetime(2017, 4, 10, 2, 3, 57, 767028)
        datetime.datetime(2012, 6, 7, 1, 35, 41, 597885)
        datetime.datetime(1993, 7, 18, 12, 33, 5, 741937)
        datetime.datetime(1984, 6, 30, 3, 6, 55, 901352)
        datetime.datetime(1998, 8, 16, 3, 37, 6, 839626)

  date_time_ad(tzinfo: tzinfo | None = None, end_datetime: date | datetime | timedelta | str | int | None = None, start_datetime: date | datetime | timedelta | str | int | None = None) → datetime

    Get a datetime object for a date between January 1, 0001 and now

    Parameters:

      - tzinfo – timezone, instance of datetime.tzinfo subclass

      - end_datetime – A `DateParseType`. Defaults to the current date and time

      - start_datetime – A `DateParseType`. Defaults to UNIX timestamp `-62135596800`,

    equivalent to 0001-01-01 00:00:00 UTC

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_time_ad()
        ...
        datetime.datetime(1710, 12, 10, 4, 38, 53, 236885)
        datetime.datetime(1535, 11, 6, 1, 41, 55, 481255)
        datetime.datetime(852, 8, 25, 14, 55, 57, 785934)
        datetime.datetime(525, 4, 21, 5, 13, 36, 871201)
        datetime.datetime(1036, 4, 28, 12, 2, 47, 831829)

  date_time_between(start_date: date | datetime | timedelta | str | int = '-30y', end_date: date | datetime | timedelta | str | int = 'now', tzinfo: tzinfo | None = None) → datetime

    Get a datetime object based on a random date between two given dates. Accepts date strings that can be recognized by strtotime().

    Parameters:

      - start_date – A `DateParseType`. Defaults to 30 years ago

      - end_date – A `DateParseType`. Defaults to `"now"`

      - tzinfo – timezone, instance of datetime.tzinfo subclass

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_time_between()
        ...
        datetime.datetime(2021, 4, 25, 12, 38, 58, 236214)
        datetime.datetime(2018, 9, 21, 2, 3, 44, 808743)
        datetime.datetime(2008, 8, 7, 7, 33, 25, 361449)
        datetime.datetime(2003, 10, 2, 0, 44, 1, 49189)
        datetime.datetime(2011, 4, 28, 4, 0, 57, 171082)

  date_time_between_dates(datetime_start: date | datetime | timedelta | str | int | None = None, datetime_end: date | datetime | timedelta | str | int | None = None, tzinfo: tzinfo | None = None) → datetime

    Get a random datetime between the two given datetimes.

    Parameters:

      - datetime_start – A `DateParseType`. Defaults to the UNIX epoch

      - datetime_end – A `DateParseType`. Defaults to the current date and time

      - tzinfo – timezone, instance of datetime.tzinfo subclass

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_time_between_dates()
        ...
        datetime.datetime(2025, 12, 25, 5, 28, 15)
        datetime.datetime(2025, 12, 25, 5, 28, 15)
        datetime.datetime(2025, 12, 25, 5, 28, 15)
        datetime.datetime(2025, 12, 25, 5, 28, 15)
        datetime.datetime(2025, 12, 25, 5, 28, 15)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_time_between_dates(datetime_start='-30y', datetime_end='now')
        ...
        datetime.datetime(2021, 4, 25, 12, 38, 58, 236214)
        datetime.datetime(2018, 9, 21, 2, 3, 44, 808743)
        datetime.datetime(2008, 8, 7, 7, 33, 25, 361449)
        datetime.datetime(2003, 10, 2, 0, 44, 1, 49189)
        datetime.datetime(2011, 4, 28, 4, 0, 57, 171082)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_time_between_dates(datetime_start='now', datetime_end='+1y')
        ...
        datetime.datetime(2026, 10, 29, 15, 28, 12, 441207)
        datetime.datetime(2026, 9, 28, 1, 31, 1, 993625)
        datetime.datetime(2026, 5, 27, 20, 6, 1, 345382)
        datetime.datetime(2026, 3, 29, 19, 4, 22, 534973)
        datetime.datetime(2026, 6, 29, 23, 10, 56, 405703)

  date_time_this_century(before_now: bool = True, after_now: bool = False, tzinfo: tzinfo | None = None) → datetime

    Gets a datetime object for the current century.

    Parameters:

      - before_now – include days in current century before today. Defaults to True

      - after_now – include days in current century after today. Defaults to False

      - tzinfo – timezone, instance of datetime.tzinfo subclass

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_time_this_century()
        ...
        datetime.datetime(2021, 12, 9, 18, 8, 26, 140408)
        datetime.datetime(2019, 9, 11, 3, 50, 29, 241226)
        datetime.datetime(2010, 12, 5, 7, 41, 2, 857404)
        datetime.datetime(2006, 9, 23, 4, 17, 43, 933608)
        datetime.datetime(2013, 4, 14, 2, 43, 39, 495729)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_time_this_century(before_now=False, after_now=True)
        ...
        datetime.datetime(2088, 6, 25, 23, 31, 31, 28278)
        datetime.datetime(2082, 1, 31, 8, 27, 32, 381663)
        datetime.datetime(2057, 2, 10, 6, 50, 4, 65343)
        datetime.datetime(2045, 2, 22, 23, 35, 54, 970914)
        datetime.datetime(2063, 10, 29, 10, 9, 50, 210471)

  date_time_this_decade(before_now: bool = True, after_now: bool = False, tzinfo: tzinfo | None = None) → datetime

    Gets a datetime object for the decade year.

    Parameters:

      - before_now – include days in current decade before today. Defaults to True

      - after_now – include days in current decade after today. Defaults to False

      - tzinfo – timezone, instance of datetime.tzinfo subclass

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_time_this_decade()
        ...
        datetime.datetime(2025, 1, 19, 6, 6, 5, 706671)
        datetime.datetime(2024, 7, 14, 7, 16, 31, 916648)
        datetime.datetime(2022, 7, 8, 1, 4, 28, 472855)
        datetime.datetime(2021, 7, 19, 19, 0, 39, 152704)
        datetime.datetime(2023, 1, 22, 6, 2, 36, 554489)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_time_this_decade(before_now=False, after_now=True)
        ...
        datetime.datetime(2029, 5, 17, 15, 31, 18, 534184)
        datetime.datetime(2029, 1, 10, 17, 34, 25, 375848)
        datetime.datetime(2027, 9, 3, 12, 44, 52, 411712)
        datetime.datetime(2027, 1, 9, 6, 12, 33, 441361)
        datetime.datetime(2028, 1, 14, 15, 54, 16, 984094)

  date_time_this_month(before_now: bool = True, after_now: bool = False, tzinfo: tzinfo | None = None) → datetime

    Gets a datetime object for the current month.

    Parameters:

      - before_now – include days in current month before today. Defaults to True

      - after_now – include days in current month after today. Defaults to False

      - tzinfo – timezone, instance of datetime.tzinfo subclass

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_time_this_month()
        ...
        datetime.datetime(2025, 12, 21, 11, 0, 24, 39688)
        datetime.datetime(2025, 12, 19, 8, 43, 42, 161903)
        datetime.datetime(2025, 12, 11, 4, 33, 0, 387295)
        datetime.datetime(2025, 12, 7, 6, 33, 9, 138804)
        datetime.datetime(2025, 12, 13, 9, 17, 28, 817867)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_time_this_month(before_now=False, after_now=True)
        ...
        datetime.datetime(2025, 12, 30, 22, 42, 50, 447437)
        datetime.datetime(2025, 12, 30, 8, 39, 37, 910932)
        datetime.datetime(2025, 12, 28, 1, 49, 33, 534802)
        datetime.datetime(2025, 12, 26, 23, 33, 8, 485180)
        datetime.datetime(2025, 12, 28, 16, 34, 4, 395846)

  date_time_this_year(before_now: bool = True, after_now: bool = False, tzinfo: tzinfo | None = None) → datetime

    Gets a datetime object for the current year.

    Parameters:

      - before_now – include days in current year before today. Defaults to True

      - after_now – include days in current year after today. Defaults to False

      - tzinfo – timezone, instance of datetime.tzinfo subclass

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_time_this_year()
        ...
        datetime.datetime(2025, 10, 30, 11, 53, 32, 62257)
        datetime.datetime(2025, 9, 29, 12, 29, 27, 140193)
        datetime.datetime(2025, 5, 31, 15, 51, 6, 838279)
        datetime.datetime(2025, 4, 3, 18, 1, 45, 152059)
        datetime.datetime(2025, 7, 3, 3, 40, 10, 217234)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.date_time_this_year(before_now=False, after_now=True)
        ...
        datetime.datetime(2025, 12, 30, 22, 42, 50, 447437)
        datetime.datetime(2025, 12, 30, 8, 39, 37, 910932)
        datetime.datetime(2025, 12, 28, 1, 49, 33, 534802)
        datetime.datetime(2025, 12, 26, 23, 33, 8, 485180)
        datetime.datetime(2025, 12, 28, 16, 34, 4, 395846)

  day_of_month() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.day_of_month()
        ...
        '10'
        '07'
        '18'
        '30'
        '16'

  day_of_week() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.day_of_week()
        ...
        'lundi'
        'jeudi'
        'dimanche'
        'samedi'
        'dimanche'

  future_date(end_date: date | datetime | timedelta | str | int = '+30d') → date

    Get a Date object based on a random date between 1 day from now and a given date.

    Parameters:

      - end_date – A `DateParseType`. Defaults to `"+30d"`

      - tzinfo – timezone, instance of datetime.tzinfo subclass

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.future_date()
        ...
        datetime.date(2026, 1, 19)
        datetime.date(2026, 1, 16)
        datetime.date(2026, 1, 7)
        datetime.date(2026, 1, 2)
        datetime.date(2026, 1, 9)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.future_date(end_date='+1y')
        ...
        datetime.date(2026, 10, 29)
        datetime.date(2026, 9, 27)
        datetime.date(2026, 5, 28)
        datetime.date(2026, 3, 30)
        datetime.date(2026, 6, 30)

  future_datetime(end_date: date | datetime | timedelta | str | int = '+30d', tzinfo: tzinfo | None = None) → datetime

    Get a datetime object based on a random date between 1 second form now and a given date.

    Parameters:

      - end_date – A `DateParseType`. Defaults to `"+30d"`

      - tzinfo – timezone, instance of datetime.tzinfo subclass

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.future_datetime()
        ...
        datetime.datetime(2026, 1, 19, 13, 27, 16, 594731)
        datetime.datetime(2026, 1, 16, 23, 11, 53, 54467)
        datetime.datetime(2026, 1, 6, 20, 16, 57, 116942)
        datetime.datetime(2026, 1, 1, 23, 53, 27, 957843)
        datetime.datetime(2026, 1, 9, 13, 35, 19, 566513)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.future_datetime(end_date='+1y')
        ...
        datetime.datetime(2026, 10, 29, 15, 28, 12, 596785)
        datetime.datetime(2026, 9, 28, 1, 31, 2, 235670)
        datetime.datetime(2026, 5, 27, 20, 6, 1, 924810)
        datetime.datetime(2026, 3, 29, 19, 4, 23, 276056)
        datetime.datetime(2026, 6, 29, 23, 10, 56, 894428)

  iso8601(tzinfo: tzinfo | None = None, end_datetime: date | datetime | timedelta | str | int | None = None, sep: str = 'T', timespec: str = 'auto') → str

    Get an ISO 8601 string for a datetime between the UNIX epoch and now.

    Parameters:

      - tzinfo – timezone, instance of datetime.tzinfo subclass

      - end_datetime – A `DateParseType`. Defaults to the current date and time

      - sep – separator between date and time, defaults to ‘T’

      - timespec – format specifier for the time part, defaults to ‘auto’ - see datetime.isoformat() documentation

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.iso8601()
        ...
        '2017-04-10T02:03:57.767028'
        '2012-06-07T01:35:41.597885'
        '1993-07-18T12:33:05.741937'
        '1984-06-30T03:06:55.901352'
        '1998-08-16T03:37:06.839626'

  month() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.month()
        ...
        '04'
        '06'
        '07'
        '06'
        '08'

  month_name() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.month_name()
        ...
        'Avril'
        'Juin'
        'Juillet'
        'Juin'
        'Août'

  past_date(start_date: date | datetime | timedelta | str | int = '-30d', tzinfo: tzinfo | None = None) → date

    Get a Date object based on a random date between a given date and 1 day ago.

    Parameters:

      - start_date – A `DateParseType`. Defaults to `"-30d"`

      - tzinfo – timezone, instance of datetime.tzinfo subclass

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.past_date()
        ...
        datetime.date(2025, 12, 19)
        datetime.date(2025, 12, 16)
        datetime.date(2025, 12, 7)
        datetime.date(2025, 12, 2)
        datetime.date(2025, 12, 9)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.past_date(start_date='-1y')
        ...
        datetime.date(2025, 10, 28)
        datetime.date(2025, 9, 26)
        datetime.date(2025, 5, 26)
        datetime.date(2025, 3, 28)
        datetime.date(2025, 6, 28)

  past_datetime(start_date: date | datetime | timedelta | str | int = '-30d', tzinfo: tzinfo | None = None) → datetime

    Get a datetime object based on a random date between a given date and 1 second ago.

    Parameters:

      - start_date – A `DateParseType`. Defaults to `"-30d"`

      - tzinfo – timezone, instance of datetime.tzinfo subclass

    Example:

      datetime(‘1999-02-02 11:42:52’)

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.past_datetime()
        ...
        datetime.datetime(2025, 12, 20, 13, 27, 15, 594731)
        datetime.datetime(2025, 12, 17, 23, 11, 52, 54467)
        datetime.datetime(2025, 12, 7, 20, 16, 56, 116942)
        datetime.datetime(2025, 12, 2, 23, 53, 26, 957843)
        datetime.datetime(2025, 12, 10, 13, 35, 18, 566513)

  pytimezone(*args: Any, **kwargs: Any) → tzinfo | None

    Generate a random timezone (see `faker.timezone` for any args) and return a Python object usable as a `tzinfo` for `datetime` or other fakers.

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.pytimezone()
        ...
        zoneinfo.ZoneInfo(key='Indian/Maldives')
        zoneinfo.ZoneInfo(key='America/Barbados')
        zoneinfo.ZoneInfo(key='Europe/Stockholm')
        zoneinfo.ZoneInfo(key='Africa/Windhoek')
        zoneinfo.ZoneInfo(key='Asia/Qatar')

  time(pattern: str = '%H:%M:%S', end_datetime: date | datetime | timedelta | str | int | None = None) → str

    Get a time string (24h format by default)

    Parameters:

      - pattern – format

      - end_datetime – A `DateParseType`. Defaults to the current date and time

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.time()
        ...
        '02:03:57'
        '01:35:41'
        '12:33:05'
        '03:06:55'
        '03:37:06'

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.time(pattern='%I:%M %p')
        ...
        '02:03 AM'
        '01:35 AM'
        '12:33 PM'
        '03:06 AM'
        '03:37 AM'

  time_delta(end_datetime: date | datetime | timedelta | str | int | None = None) → timedelta

    Get a random timedelta object of duration between the current date and time and end_datetime

    Parameters:

      end_datetime – A `DateParseType`. Defaults to the current date and time

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.time_delta()
        ...
        datetime.timedelta(0)
        datetime.timedelta(0)
        datetime.timedelta(0)
        datetime.timedelta(0)
        datetime.timedelta(0)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.time_delta(end_datetime='+30h')
        ...
        datetime.timedelta(days=1, seconds=4797, microseconds=559965)
        datetime.timedelta(seconds=81859, microseconds=75518)
        datetime.timedelta(seconds=45421, microseconds=730730)
        datetime.timedelta(seconds=27963, microseconds=9032)
        datetime.timedelta(seconds=55217, microseconds=669908)

  time_object(end_datetime: date | datetime | timedelta | str | int | None = None) → time

    Get a time object

    Parameters:

      end_datetime – A `DateParseType`. Defaults to the current date and time

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.time_object()
        ...
        datetime.time(2, 3, 57, 767028)
        datetime.time(1, 35, 41, 597885)
        datetime.time(12, 33, 5, 741937)
        datetime.time(3, 6, 55, 901352)
        datetime.time(3, 37, 6, 839626)

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.time_object(end_datetime='+1h')
        ...
        datetime.time(2, 54, 37, 685693)
        datetime.time(2, 21, 10, 233736)
        datetime.time(12, 58, 19, 799628)
        datetime.time(3, 22, 28, 1653)
        datetime.time(4, 7, 47, 428623)

  time_series(start_date: date | datetime | timedelta | str | int = '-30d', end_date: date | datetime | timedelta | str | int = 'now', precision: float | None = None, distrib: Callable[[datetime], float] | None = None, tzinfo: tzinfo | None = None) → Iterator[Tuple[datetime, Any]]

    Returns a generator yielding tuples of `(<datetime>, <value>)`.

    The data points will start at `start_date`, and be at every time interval specified by `precision`.

    Parameters:

      - start_date – A `DateParseType`. Defaults to `"-30d"`

      - end_date – A `DateParseType`. Defaults to `"now"`

      - precision – A float representing the time interval between data points.

    Defaults to 1/30th of the time :param distrib: A callable that accepts a datetime object and returns a value. Defaults to a uniform distribution :param tzinfo: timezone, instance of datetime.tzinfo subclass

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.time_series()
        ...
        <generator object Provider.time_series at 0x7d660c4d17e0>
        <generator object Provider.time_series at 0x7d660c4d17e0>
        <generator object Provider.time_series at 0x7d660c4d17e0>
        <generator object Provider.time_series at 0x7d660c4d17e0>
        <generator object Provider.time_series at 0x7d660c4d17e0>

  timezone() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.timezone()
        ...
        'Indian/Maldives'
        'America/Barbados'
        'Europe/Stockholm'
        'Africa/Windhoek'
        'Asia/Qatar'

  unix_time(end_datetime: date | datetime | timedelta | str | int | None = None, start_datetime: date | datetime | timedelta | str | int | None = None) → float

    Get a timestamp between January 1, 1970 and now, unless passed explicit `start_datetime` or end_datetime values.

    On Windows, the decimal part is always 0.

    Parameters:

      - end_datetime – A `DateParseType`. Defaults to the UNIX epoch

      - start_datetime – A `DateParseType`. Defaults to the current date and time

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.unix_time()
        ...
        1491789837.7670276
        1339032941.5978854
        742998785.7419366
        457412815.90135217
        903238626.8396256

  year() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.year()
        ...
        '2017'
        '2012'
        '1993'
        '1984'
        '1998'

## `faker.providers.person`

class faker.providers.person.fr_CA.Provider(generator: Any)

  Bases: `Provider`

  first_name() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.first_name()
        ...
        'Céline'
        'Claude'
        'Charles'
        'Roland'
        'Henriette'

  first_name_female() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.first_name_female()
        ...
        'Virginie'
        'Geneviève'
        'Rosalie'
        'Isabelle'
        'Anaïs'

  first_name_male() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.first_name_male()
        ...
        'Maurice'
        'Noël'
        'Arthur'
        'Jean'
        'Roger'

  first_name_nonbinary() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.first_name_nonbinary()
        ...
        'Céline'
        'Claude'
        'Charles'
        'Roland'
        'Henriette'

  language_name() → str

    Generate a random i18n language name (e.g. English).

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.language_name()
        ...
        'Luba-Katanga'
        'Malay'
        'Aymara'
        'Interlingue'
        'Quechua'

  last_name() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.last_name()
        ...
        'Brisson'
        'Jean'
        'Plourde'
        'Germain'
        'Moreau'

  last_name_female() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.last_name_female()
        ...
        'Brisson'
        'Jean'
        'Plourde'
        'Germain'
        'Moreau'

  last_name_male() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.last_name_male()
        ...
        'Brisson'
        'Jean'
        'Plourde'
        'Germain'
        'Moreau'

  last_name_nonbinary() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.last_name_nonbinary()
        ...
        'Brisson'
        'Jean'
        'Plourde'
        'Germain'
        'Moreau'

  name() → str
    Example:

      ‘John Doe’

    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.name()
        ...
        'Rosalie Germain'
        'Anaïs Ménard'
        'Henriette-Sophie Maltais'
        'Juliette Boivin'
        'Robert Martel-Champagne'

  name_female() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.name_female()
        ...
        'Rosalie Germain-Moreau'
        'Denise Duguay'
        'Henriette-Sophie Maltais'
        'Juliette Boivin'
        'Laurence Martel'

  name_male() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.name_male()
        ...
        'Noël Ouellet-Ménard'
        'Nathan-Julien Duguay'
        'Maxime-Victor Larivière'
        'Robert Martel'
        'Éric St-Jean'

  name_nonbinary() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.name_nonbinary()
        ...
        'Rosalie Germain'
        'Anaïs Ménard'
        'Henriette-Sophie Maltais'
        'Juliette Boivin'
        'Robert Martel-Champagne'

  prefix() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.prefix()
        ...
        ''
        ''
        ''
        ''
        ''

  prefix_female() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.prefix_female()
        ...
        ''
        ''
        ''
        ''
        ''

  prefix_male() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.prefix_male()
        ...
        ''
        ''
        ''
        ''
        ''

  prefix_nonbinary() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.prefix_nonbinary()
        ...
        ''
        ''
        ''
        ''
        ''

  suffix() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.suffix()
        ...
        ''
        ''
        ''
        ''
        ''

  suffix_female() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.suffix_female()
        ...
        ''
        ''
        ''
        ''
        ''

  suffix_male() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.suffix_male()
        ...
        ''
        ''
        ''
        ''
        ''

  suffix_nonbinary() → str
    Examples:

        >>> Faker.seed(0)
        >>> for _ in range(5):
        ...     fake.suffix_nonbinary()
        ...
        ''
        ''
        ''
        ''
        ''