Navigation: Aggregate functions · Operator Precedence
This page documents TEMPORAL functions.
Returns current datetime (ZonedDateTime) in UTC.
Syntax:
CURRENT_TIMESTAMP
NOW()
CURRENT_DATETIMEInputs:
- None
Output:
TIMESTAMP/DATETIME
Examples:
SELECT CURRENT_TIMESTAMP AS now;
-- Result: 2025-09-26T12:34:56Z
SELECT NOW() AS current_time;
-- Result: 2025-09-26T12:34:56Z
SELECT CURRENT_DATETIME AS dt;
-- Result: 2025-09-26T12:34:56ZReturns current date as DATE.
Syntax:
CURRENT_DATE
CURDATE()
TODAY()Inputs:
- None
Output:
DATE
Examples:
SELECT CURRENT_DATE AS today;
-- Result: 2025-09-26
SELECT CURDATE() AS today;
-- Result: 2025-09-26
SELECT TODAY() AS today;
-- Result: 2025-09-26Returns current time-of-day.
Syntax:
CURRENT_TIME
CURTIME()Inputs:
- None
Output:
TIME
Examples:
SELECT CURRENT_TIME AS t;
-- Result: 12:34:56
SELECT CURTIME() AS current_time;
-- Result: 12:34:56Literal syntax for time intervals.
Syntax:
INTERVAL n UNITInputs:
n-INTvalueUNIT- One of:YEAR,QUARTER,MONTH,WEEK,DAY,HOUR,MINUTE,SECOND,MILLISECOND,MICROSECOND,NANOSECOND
Output:
INTERVAL
Note: INTERVAL is not a standalone type; it can only be used as part of date/datetime arithmetic functions.
Examples:
-- Used with DATE_ADD
SELECT DATE_ADD('2025-01-10'::DATE, INTERVAL 1 MONTH);
-- Result: 2025-02-10
-- Used with DATETIME_SUB
SELECT DATETIME_SUB(NOW(), INTERVAL 7 DAY);
-- Result: 7 days ago
-- Various intervals
INTERVAL 1 YEAR
INTERVAL 3 MONTH
INTERVAL 7 DAY
INTERVAL 2 HOUR
INTERVAL 30 MINUTE
INTERVAL 45 SECONDAdds interval to DATE.
Syntax:
DATE_ADD(date_expr, INTERVAL n UNIT)
DATEADD(date_expr, INTERVAL n UNIT)Inputs:
date_expr-DATEINTERVAL n UNIT- whereUNITis one of:YEAR,QUARTER,MONTH,WEEK,DAY
Output:
DATE
Examples:
-- Add 1 month
SELECT DATE_ADD('2025-01-10'::DATE, INTERVAL 1 MONTH) AS next_month;
-- Result: 2025-02-10
-- Add 7 days
SELECT DATE_ADD('2025-01-10'::DATE, INTERVAL 7 DAY) AS next_week;
-- Result: 2025-01-17
-- Add 1 year
SELECT DATEADD('2025-01-10'::DATE, INTERVAL 1 YEAR) AS next_year;
-- Result: 2026-01-10
-- Add 2 weeks
SELECT DATE_ADD('2025-01-10'::DATE, INTERVAL 2 WEEK) AS two_weeks_later;
-- Result: 2025-01-24
-- Add 1 quarter
SELECT DATE_ADD('2025-01-10'::DATE, INTERVAL 1 QUARTER) AS next_quarter;
-- Result: 2025-04-10Subtract interval from DATE.
Syntax:
DATE_SUB(date_expr, INTERVAL n UNIT)
DATESUB(date_expr, INTERVAL n UNIT)Inputs:
date_expr-DATEINTERVAL n UNIT- whereUNITis one of:YEAR,QUARTER,MONTH,WEEK,DAY
Output:
DATE
Examples:
-- Subtract 7 days
SELECT DATE_SUB('2025-01-10'::DATE, INTERVAL 7 DAY) AS week_before;
-- Result: 2025-01-03
-- Subtract 1 month
SELECT DATE_SUB('2025-01-10'::DATE, INTERVAL 1 MONTH) AS last_month;
-- Result: 2024-12-10
-- Subtract 1 year
SELECT DATESUB('2025-01-10'::DATE, INTERVAL 1 YEAR) AS last_year;
-- Result: 2024-01-10
-- Subtract 2 weeks
SELECT DATE_SUB('2025-01-10'::DATE, INTERVAL 2 WEEK) AS two_weeks_ago;
-- Result: 2024-12-27
-- Subtract 1 quarter
SELECT DATE_SUB('2025-01-10'::DATE, INTERVAL 1 QUARTER) AS last_quarter;
-- Result: 2024-10-10Adds interval to DATETIME / TIMESTAMP.
Syntax:
DATETIME_ADD(datetime_expr, INTERVAL n UNIT)
DATETIMEADD(datetime_expr, INTERVAL n UNIT)Inputs:
datetime_expr-DATETIMEorTIMESTAMPINTERVAL n UNIT- whereUNITis one of:YEAR,QUARTER,MONTH,WEEK,DAY,HOUR,MINUTE,SECOND
Output:
DATETIME
Examples:
-- Add 1 day
SELECT DATETIME_ADD('2025-01-10T12:00:00Z'::TIMESTAMP, INTERVAL 1 DAY) AS tomorrow;
-- Result: 2025-01-11T12:00:00Z
-- Add 2 hours
SELECT DATETIME_ADD('2025-01-10T12:00:00Z'::TIMESTAMP, INTERVAL 2 HOUR) AS later;
-- Result: 2025-01-10T14:00:00Z
-- Add 30 minutes
SELECT DATETIMEADD('2025-01-10T12:00:00Z'::TIMESTAMP, INTERVAL 30 MINUTE) AS half_hour_later;
-- Result: 2025-01-10T12:30:00Z
-- Add 45 seconds
SELECT DATETIME_ADD('2025-01-10T12:00:00Z'::TIMESTAMP, INTERVAL 45 SECOND) AS seconds_later;
-- Result: 2025-01-10T12:00:45Z
-- Add 1 month
SELECT DATETIME_ADD('2025-01-10T12:00:00Z'::TIMESTAMP, INTERVAL 1 MONTH) AS next_month;
-- Result: 2025-02-10T12:00:00Z
-- Add 1 year
SELECT DATETIME_ADD('2025-01-10T12:00:00Z'::TIMESTAMP, INTERVAL 1 YEAR) AS next_year;
-- Result: 2026-01-10T12:00:00ZSubtract interval from DATETIME / TIMESTAMP.
Syntax:
DATETIME_SUB(datetime_expr, INTERVAL n UNIT)
DATETIMESUB(datetime_expr, INTERVAL n UNIT)Inputs:
datetime_expr-DATETIMEorTIMESTAMPINTERVAL n UNIT- whereUNITis one of:YEAR,QUARTER,MONTH,WEEK,DAY,HOUR,MINUTE,SECOND
Output:
DATETIME
Examples:
-- Subtract 2 hours
SELECT DATETIME_SUB('2025-01-10T12:00:00Z'::TIMESTAMP, INTERVAL 2 HOUR) AS earlier;
-- Result: 2025-01-10T10:00:00Z
-- Subtract 1 day
SELECT DATETIME_SUB('2025-01-10T12:00:00Z'::TIMESTAMP, INTERVAL 1 DAY) AS yesterday;
-- Result: 2025-01-09T12:00:00Z
-- Subtract 30 minutes
SELECT DATETIMESUB('2025-01-10T12:00:00Z'::TIMESTAMP, INTERVAL 30 MINUTE) AS half_hour_ago;
-- Result: 2025-01-10T11:30:00Z
-- Subtract 7 days
SELECT DATETIME_SUB('2025-01-10T12:00:00Z'::TIMESTAMP, INTERVAL 7 DAY) AS week_ago;
-- Result: 2025-01-03T12:00:00Z
-- Subtract 1 month
SELECT DATETIME_SUB('2025-01-10T12:00:00Z'::TIMESTAMP, INTERVAL 1 MONTH) AS last_month;
-- Result: 2024-12-10T12:00:00ZDifference between 2 dates (date1 - date2) in the specified time unit.
Syntax:
DATEDIFF(date1, date2)
DATEDIFF(date1, date2, unit)
DATE_DIFF(date1, date2)
DATE_DIFF(date1, date2, unit)Inputs:
date1-DATEorDATETIMEdate2-DATEorDATETIMEunit(optional) - One of:YEAR,QUARTER,MONTH,WEEK,DAY,HOUR,MINUTE,SECOND- Default:
DAY
- Default:
Output:
BIGINT
Examples:
-- Difference in days (default)
SELECT DATEDIFF('2025-01-10'::DATE, '2025-01-01'::DATE) AS diff;
-- Result: 9
-- Difference in days (explicit)
SELECT DATEDIFF('2025-01-10'::DATE, '2025-01-01'::DATE, DAY) AS diff_days;
-- Result: 9
-- Difference in weeks
SELECT DATE_DIFF('2025-01-31'::DATE, '2025-01-01'::DATE, WEEK) AS diff_weeks;
-- Result: 4
-- Difference in months
SELECT DATEDIFF('2025-06-01'::DATE, '2025-01-01'::DATE, MONTH) AS diff_months;
-- Result: 5
-- Difference in years
SELECT DATEDIFF('2027-01-01'::DATE, '2025-01-01'::DATE, YEAR) AS diff_years;
-- Result: 2
-- Difference in hours (with timestamps)
SELECT DATEDIFF('2025-01-10T14:00:00Z'::TIMESTAMP, '2025-01-10T12:00:00Z'::TIMESTAMP, HOUR) AS diff_hours;
-- Result: 2
-- Difference in minutes
SELECT DATEDIFF('2025-01-10T12:30:00Z'::TIMESTAMP, '2025-01-10T12:00:00Z'::TIMESTAMP, MINUTE) AS diff_minutes;
-- Result: 30
-- Difference in seconds
SELECT DATEDIFF('2025-01-10T12:00:45Z'::TIMESTAMP, '2025-01-10T12:00:00Z'::TIMESTAMP, SECOND) AS diff_seconds;
-- Result: 45Format DATE to VARCHAR.
Syntax:
DATE_FORMAT(date_expr, pattern)Inputs:
date_expr-DATEpattern-VARCHAR(MySQL-style pattern)
Output:
VARCHAR
Examples:
-- Simple date formatting
SELECT DATE_FORMAT('2025-01-10'::DATE, '%Y-%m-%d') AS fmt;
-- Result: '2025-01-10'
-- Day of the week (full name)
SELECT DATE_FORMAT('2025-01-10'::DATE, '%W') AS weekday;
-- Result: 'Friday'
-- Month name (full)
SELECT DATE_FORMAT('2025-01-10'::DATE, '%M') AS month_name;
-- Result: 'January'
-- Custom format
SELECT DATE_FORMAT('2025-01-10'::DATE, '%W, %M %d, %Y') AS formatted;
-- Result: 'Friday, January 10, 2025'
-- Short format
SELECT DATE_FORMAT('2025-01-10'::DATE, '%m/%d/%y') AS short_date;
-- Result: '01/10/25'
-- Day of month without leading zero
SELECT DATE_FORMAT('2025-01-09'::DATE, '%e') AS day;
-- Result: '9'
-- Abbreviated weekday and month
SELECT DATE_FORMAT('2025-01-10'::DATE, '%a, %b %d') AS abbrev;
-- Result: 'Fri, Jan 10'Parse VARCHAR into DATE.
Syntax:
DATE_PARSE(string, pattern)Inputs:
string-VARCHARpattern-VARCHAR(MySQL-style pattern)
Output:
DATE
Examples:
-- Parse ISO-style date
SELECT DATE_PARSE('2025-01-10', '%Y-%m-%d') AS d;
-- Result: 2025-01-10
-- Parse with day of week
SELECT DATE_PARSE('Friday 2025-01-10', '%W %Y-%m-%d') AS d;
-- Result: 2025-01-10
-- Parse US format
SELECT DATE_PARSE('01/10/2025', '%m/%d/%Y') AS d;
-- Result: 2025-01-10
-- Parse with month name
SELECT DATE_PARSE('January 10, 2025', '%M %d, %Y') AS d;
-- Result: 2025-01-10
-- Parse with abbreviated month
SELECT DATE_PARSE('Jan 10, 2025', '%b %d, %Y') AS d;
-- Result: 2025-01-10
-- Parse 2-digit year
SELECT DATE_PARSE('10/01/25', '%d/%m/%y') AS d;
-- Result: 2025-01-10Format DATETIME / TIMESTAMP to VARCHAR with pattern.
Syntax:
DATETIME_FORMAT(datetime_expr, pattern)Inputs:
datetime_expr-DATETIMEorTIMESTAMPpattern-VARCHAR(MySQL-style pattern)
Output:
VARCHAR
Examples:
-- Format with seconds and microseconds
SELECT DATETIME_FORMAT('2025-01-10T12:00:00.123456Z'::TIMESTAMP, '%Y-%m-%d %H:%i:%s.%f') AS s;
-- Result: '2025-01-10 12:00:00.123456'
-- Format 12-hour clock with AM/PM
SELECT DATETIME_FORMAT('2025-01-10T13:45:30Z'::TIMESTAMP, '%Y-%m-%d %h:%i:%s %p') AS s;
-- Result: '2025-01-10 01:45:30 PM'
-- Format with full weekday name
SELECT DATETIME_FORMAT('2025-01-10T13:45:30Z'::TIMESTAMP, '%W, %Y-%m-%d') AS s;
-- Result: 'Friday, 2025-01-10'
-- Full datetime with day name and month name
SELECT DATETIME_FORMAT('2025-01-10T13:45:30Z'::TIMESTAMP, '%W, %M %d, %Y at %h:%i %p') AS s;
-- Result: 'Friday, January 10, 2025 at 01:45 PM'
-- ISO 8601 format
SELECT DATETIME_FORMAT('2025-01-10T13:45:30Z'::TIMESTAMP, '%Y-%m-%dT%H:%i:%s') AS s;
-- Result: '2025-01-10T13:45:30'
-- 24-hour format
SELECT DATETIME_FORMAT('2025-01-10T13:45:30Z'::TIMESTAMP, '%H:%i:%s') AS s;
-- Result: '13:45:30'
-- 12-hour format
SELECT DATETIME_FORMAT('2025-01-10T13:45:30Z'::TIMESTAMP, '%h:%i:%s %p') AS s;
-- Result: '01:45:30 PM'Parse VARCHAR into DATETIME / TIMESTAMP.
Syntax:
DATETIME_PARSE(string, pattern)Inputs:
string-VARCHARpattern-VARCHAR(MySQL-style pattern)
Output:
DATETIME
Examples:
-- Parse full datetime with microseconds
SELECT DATETIME_PARSE('2025-01-10 12:00:00.123456', '%Y-%m-%d %H:%i:%s.%f') AS dt;
-- Result: 2025-01-10T12:00:00.123456Z
-- Parse 12-hour clock with AM/PM
SELECT DATETIME_PARSE('2025-01-10 01:45:30 PM', '%Y-%m-%d %h:%i:%s %p') AS dt;
-- Result: 2025-01-10T13:45:30Z
-- Parse ISO 8601 format
SELECT DATETIME_PARSE('2025-01-10T13:45:30', '%Y-%m-%dT%H:%i:%s') AS dt;
-- Result: 2025-01-10T13:45:30Z
-- Parse with full day and month names
SELECT DATETIME_PARSE('Friday, January 10, 2025 at 01:45 PM', '%W, %M %d, %Y at %h:%i %p') AS dt;
-- Result: 2025-01-10T13:45:00Z
-- Parse 24-hour format
SELECT DATETIME_PARSE('2025-01-10 13:45:30', '%Y-%m-%d %H:%i:%s') AS dt;
-- Result: 2025-01-10T13:45:30Z
-- Parse abbreviated names
SELECT DATETIME_PARSE('Fri, Jan 10, 2025 1:45 PM', '%a, %b %d, %Y %h:%i %p') AS dt;
-- Result: 2025-01-10T13:45:00ZTruncate date/datetime to a unit.
Syntax:
DATE_TRUNC(date_or_datetime_expr, unit)Inputs:
date_or_datetime_expr-DATEorDATETIMEunit- One of:YEAR,QUARTER,MONTH,WEEK,DAY,HOUR,MINUTE,SECOND
Output:
DATEorDATETIME(same type as input)
Examples:
-- Truncate to start of month
SELECT DATE_TRUNC('2025-01-15'::DATE, MONTH) AS start_month;
-- Result: 2025-01-01
-- Truncate to start of year
SELECT DATE_TRUNC('2025-06-15'::DATE, YEAR) AS start_year;
-- Result: 2025-01-01
-- Truncate to start of quarter
SELECT DATE_TRUNC('2025-05-15'::DATE, QUARTER) AS start_quarter;
-- Result: 2025-04-01
-- Truncate to start of week
SELECT DATE_TRUNC('2025-01-15'::DATE, WEEK) AS start_week;
-- Result: 2025-01-13 (Monday)
-- Truncate datetime to hour
SELECT DATE_TRUNC('2025-01-10T12:34:56Z'::TIMESTAMP, HOUR) AS start_hour;
-- Result: 2025-01-10T12:00:00Z
-- Truncate datetime to minute
SELECT DATE_TRUNC('2025-01-10T12:34:56Z'::TIMESTAMP, MINUTE) AS start_minute;
-- Result: 2025-01-10T12:34:00Z
-- Truncate datetime to day
SELECT DATE_TRUNC('2025-01-10T12:34:56Z'::TIMESTAMP, DAY) AS start_day;
-- Result: 2025-01-10T00:00:00ZExtract field from date or datetime.
Syntax:
EXTRACT(unit FROM date_expr)Inputs:
unit- One of:YEAR,QUARTER,MONTH,WEEK,DAY,HOUR,MINUTE,SECONDdate_expr-DATEorDATETIME
Output:
INT/BIGINT
Examples:
-- Extract year
SELECT EXTRACT(YEAR FROM '2025-01-10T12:00:00Z'::TIMESTAMP) AS y;
-- Result: 2025
-- Extract month
SELECT EXTRACT(MONTH FROM '2025-01-10T12:00:00Z'::TIMESTAMP) AS m;
-- Result: 1
-- Extract day
SELECT EXTRACT(DAY FROM '2025-01-10T12:00:00Z'::TIMESTAMP) AS d;
-- Result: 10
-- Extract hour
SELECT EXTRACT(HOUR FROM '2025-01-10T12:34:56Z'::TIMESTAMP) AS h;
-- Result: 12
-- Extract minute
SELECT EXTRACT(MINUTE FROM '2025-01-10T12:34:56Z'::TIMESTAMP) AS min;
-- Result: 34
-- Extract second
SELECT EXTRACT(SECOND FROM '2025-01-10T12:34:56Z'::TIMESTAMP) AS sec;
-- Result: 56
-- Extract quarter
SELECT EXTRACT(QUARTER FROM '2025-05-10'::DATE) AS q;
-- Result: 2
-- Extract week
SELECT EXTRACT(WEEK FROM '2025-01-15'::DATE) AS w;
-- Result: 3YEAR / QUARTER / MONTH / WEEK / DAY
Syntax:
YEAR(date_expr)
QUARTER(date_expr)
MONTH(date_expr)
WEEK(date_expr)
DAY(date_expr)Examples:
-- Extract year
SELECT YEAR('2025-01-10'::DATE) AS year;
-- Result: 2025
-- Extract quarter (1-4)
SELECT QUARTER('2025-05-10'::DATE) AS q;
-- Result: 2
-- Extract month (1-12)
SELECT MONTH('2025-01-10'::DATE) AS month;
-- Result: 1
-- Extract ISO week number (1-53)
SELECT WEEK('2025-01-01'::DATE) AS w;
-- Result: 1
-- Extract day of month (1-31)
SELECT DAY('2025-01-10'::DATE) AS day;
-- Result: 10HOUR / MINUTE / SECOND
Syntax:
HOUR(timestamp)
MINUTE(timestamp)
SECOND(timestamp)Examples:
-- Extract hour (0-23)
SELECT HOUR('2025-01-10T12:34:56Z'::TIMESTAMP) AS hour;
-- Result: 12
-- Extract minute (0-59)
SELECT MINUTE('2025-01-10T12:34:56Z'::TIMESTAMP) AS minute;
-- Result: 34
-- Extract second (0-59)
SELECT SECOND('2025-01-10T12:34:56Z'::TIMESTAMP) AS second;
-- Result: 56NANOSECOND / MICROSECOND / MILLISECOND
Sub-second extraction from timestamps.
Syntax:
NANOSECOND(datetime_expr)
MICROSECOND(datetime_expr)
MILLISECOND(datetime_expr)Inputs:
datetime_expr-DATETIMEorTIMESTAMP
Output:
INT
Examples:
-- Extract milliseconds
SELECT MILLISECOND('2025-01-01T12:00:00.123Z'::TIMESTAMP) AS ms;
-- Result: 123
-- Extract microseconds
SELECT MICROSECOND('2025-01-01T12:00:00.123456Z'::TIMESTAMP) AS us;
-- Result: 123456
-- Extract nanoseconds
SELECT NANOSECOND('2025-01-01T12:00:00.123456789Z'::TIMESTAMP) AS ns;
-- Result: 123456789Last day of month for a date.
Syntax:
LAST_DAY(date_expr)Inputs:
date_expr-DATE
Output:
DATE
Examples:
-- Last day of February (non-leap year)
SELECT LAST_DAY('2025-02-15'::DATE) AS ld;
-- Result: 2025-02-28
-- Last day of February (leap year)
SELECT LAST_DAY('2024-02-15'::DATE) AS ld;
-- Result: 2024-02-29
-- Last day of January
SELECT LAST_DAY('2025-01-10'::DATE) AS ld;
-- Result: 2025-01-31
-- Last day of current month
SELECT LAST_DAY(CURRENT_DATE) AS month_end;Days since epoch (1970-01-01).
Syntax:
EPOCHDAY(date_expr)Inputs:
date_expr-DATE
Output:
BIGINT
Examples:
-- Day after epoch
SELECT EPOCHDAY('1970-01-02'::DATE) AS d;
-- Result: 1
-- Epoch day
SELECT EPOCHDAY('1970-01-01'::DATE) AS d;
-- Result: 0
-- Days since epoch for a recent date
SELECT EPOCHDAY('2025-01-10'::DATE) AS d;
-- Result: 20098Timezone offset in seconds.
Syntax:
OFFSET_SECONDS(timestamp_expr)Inputs:
timestamp_expr-TIMESTAMPwith timezone
Output:
INT
Examples:
-- UTC+2 (7200 seconds = 2 hours)
SELECT OFFSET_SECONDS('2025-01-01T12:00:00+02:00'::TIMESTAMP) AS off;
-- Result: 7200
-- UTC (0 seconds)
SELECT OFFSET_SECONDS('2025-01-01T12:00:00Z'::TIMESTAMP) AS off;
-- Result: 0
-- UTC-5 (-18000 seconds = -5 hours)
SELECT OFFSET_SECONDS('2025-01-01T12:00:00-05:00'::TIMESTAMP) AS off;
-- Result: -18000The following patterns are supported in DATE_FORMAT, DATE_PARSE, DATETIME_FORMAT, and DATETIME_PARSE functions:
| Patternc | Descriptionc | Example Outputc |
|---|---|---|
%Y |
Year (4 digits) | 2025 |
%y |
Year (2 digits) | 25 |
%m |
Month (2 digits, 01-12) | 01 |
%c |
Month (1-12, no leading zero) | 1 |
%M |
Month name (full) | January |
%b |
Month name (abbreviated) | Jan |
%d |
Day of month (2 digits, 01-31) | 10 |
%e |
Day of month (1-31, no leading zero) | 9 |
%W |
Weekday name (full) | Friday |
%a |
Weekday name (abbreviated) | Fri |
%H |
Hour (00-23, 24-hour format) | 13 |
%h |
Hour (01-12, 12-hour format) | 01 |
%I |
Hour (01-12, synonym for %h) | 01 |
%i |
Minutes (00-59) | 45 |
%s |
Seconds (00-59) | 30 |
%f |
Microseconds (000000-999999) | 123456 |
%p |
AM/PM marker | AM / PM |
Pattern Combination Examples:
-- Full date and time
'%Y-%m-%d %H:%i:%s' -- 2025-01-10 13:45:30
-- US format with 12-hour time
'%m/%d/%Y %h:%i %p' -- 01/10/2025 01:45 PM
-- Long format with names
'%W, %M %d, %Y' -- Friday, January 10, 2025
-- ISO 8601 with microseconds
'%Y-%m-%dT%H:%i:%s.%f' -- 2025-01-10T13:45:30.123456
-- Short format
'%d-%b-%y' -- 10-Jan-25
-- Time only (24-hour)
'%H:%i:%s' -- 13:45:30
-- Time only (12-hour)
'%h:%i:%s %p' -- 01:45:30 PM
-- European format
'%d/%m/%Y' -- 10/01/2025
-- Year and month
'%Y-%m' -- 2025-01
-- Month and day with names
'%b %d' -- Jan 10