DateTime Functions
Generate dates, timestamps, and time-related data
DateTime Functions
Generate realistic dates, timestamps, and time-related values.
generate_date
Generate random dates within a range.
Category: DateTime
Type: Generator
Data Types: date
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
pattern | string | %Y-%m-%d | Date format pattern |
start_date | string | -30y | Start date (relative) |
end_date | string | today | End date (relative) |
reference_date_column | string | none | Column for reference date |
days_offset | integer | 0 | Days to add/subtract |
Relative Date Strings
| Value | Meaning |
|---|---|
today | Current date |
now | Current datetime |
-1d | 1 day ago |
-1w | 1 week ago |
-1m | 1 month ago |
-1y | 1 year ago |
+1d | 1 day from now |
+1w | 1 week from now |
Examples
Random date in last year:
columns:
- name: created_date
function: generate_date
parameters:
start_date: "-1y"
end_date: "today"
Date in specific range:
columns:
- name: historical_date
function: generate_date
parameters:
start_date: "-10y"
end_date: "-5y"
Relative to another column:
columns:
- name: order_date
function: generate_date
- name: ship_date
function: generate_date
parameters:
reference_date_column: order_date
days_offset: 3
Custom format:
columns:
- name: formatted_date
function: generate_date
parameters:
pattern: "%m/%d/%Y"
Output Sample
2024-03-15
2023-11-22
2024-01-08
generate_datetime
Generate random datetime values.
Category: DateTime
Type: Generator
Data Types: datetime, timestamp
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
start_date | string | -30y | Start datetime |
end_date | string | now | End datetime |
tzinfo | string | none | Timezone info |
Examples
Recent datetime:
columns:
- name: created_at
function: generate_datetime
parameters:
start_date: "-7d"
end_date: "now"
Historical data:
columns:
- name: transaction_time
function: generate_datetime
parameters:
start_date: "-1y"
end_date: "now"
Output Sample
2024-03-15T14:30:22
2024-02-28T09:15:45
2024-01-10T18:42:11
generate_birthdate
Generate realistic birth dates based on age constraints.
Category: DateTime
Type: Generator
Data Types: date
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
minimum_age | integer | 18 | Minimum age in years |
maximum_age | integer | 90 | Maximum age in years |
Examples
Adult employees (25-65):
columns:
- name: date_of_birth
function: generate_birthdate
parameters:
minimum_age: 25
maximum_age: 65
Minors (0-17):
columns:
- name: child_dob
function: generate_birthdate
parameters:
minimum_age: 0
maximum_age: 17
Seniors (65+):
columns:
- name: senior_dob
function: generate_birthdate
parameters:
minimum_age: 65
maximum_age: 95
Output Sample
1985-06-15
1992-11-28
1978-03-04
Common Patterns
Order with Fulfillment Dates
columns:
- name: order_date
function: generate_date
parameters:
start_date: "-30d"
end_date: "today"
- name: ship_date
function: generate_date
parameters:
reference_date_column: order_date
days_offset: 2
- name: delivery_date
function: generate_date
parameters:
reference_date_column: ship_date
days_offset: 5
Event with Start/End Times
columns:
- name: event_start
function: generate_datetime
parameters:
start_date: "+1d"
end_date: "+30d"
- name: event_end
function: generate_datetime
parameters:
reference_date_column: event_start
days_offset: 1
Contract Period
columns:
- name: contract_start
function: generate_date
- name: contract_end
function: generate_date
parameters:
reference_date_column: contract_start
days_offset: 365
Date Format Patterns
Common format patterns for the pattern parameter:
| Pattern | Example | Description |
|---|---|---|
%Y-%m-%d | 2024-03-15 | ISO date |
%m/%d/%Y | 03/15/2024 | US date |
%d/%m/%Y | 15/03/2024 | European date |
%Y-%m-%dT%H:%M:%S | 2024-03-15T14:30:00 | ISO datetime |
%B %d, %Y | March 15, 2024 | Long date |
%Y | 2024 | Year only |
%m-%Y | 03-2024 | Month-Year |
Related Functions
- Date Transformers - Transform existing dates
- Utility Functions - Calculate age from date