datetime_field()function

Create a datetime column specification.

USAGE

datetime_field(
    min_date=None,
    max_date=None,
    nullable=False,
    null_probability=0.0,
    unique=False,
    generator=None,
)

Parameters

min_date : str | datetime | None = None

Minimum datetime (inclusive). Can be ISO string or datetime object.

max_date : str | datetime | None = None

Maximum datetime (inclusive). Can be ISO string or datetime object.

nullable : bool = False

Whether the column can contain null values. Default is False.

null_probability : float = 0.0

Probability of generating null when nullable=True. Default is 0.0.

unique : bool = False

Whether all values must be unique. Default is False.

generator : Callable[[], Any] | None = None

Custom callable that generates values. Overrides other settings.

Returns

DatetimeField

A datetime field specification.

Examples


Define a schema with datetime fields and generate test data:

import pointblank as pb
from datetime import datetime

# Define a schema with datetime field specifications
schema = pb.Schema(
    created_at=pb.datetime_field(
        min_date=datetime(2024, 1, 1),
        max_date=datetime(2024, 12, 31)
    ),
    updated_at=pb.datetime_field(
        min_date=datetime(2024, 6, 1),
        max_date=datetime(2024, 12, 31)
    ),
)

# Generate 100 rows of test data
pb.preview(pb.generate_dataset(schema, n=100, seed=23))
PolarsRows100Columns2
created_at
Datetime
updated_at
Datetime
1 2024-12-25 04:22:08 2024-09-21 14:13:08
2 2024-10-29 16:22:23 2024-07-03 10:44:55
3 2024-04-22 14:13:08 2024-06-07 15:09:55
4 2024-12-12 14:04:53 2024-09-28 03:03:37
5 2024-11-18 04:49:47 2024-11-12 13:36:43
96 2024-07-29 13:15:44 2024-11-28 23:02:29
97 2024-04-28 08:49:29 2024-12-30 22:17:11
98 2024-12-13 09:42:37 2024-08-16 08:51:48
99 2024-10-28 23:35:39 2024-11-26 06:03:26
100 2024-06-25 14:22:27 2024-09-23 19:35:59

Datetime values are uniformly distributed within the specified range.