SQLite strftime() Function
The SQLite strftime()
function outputs a specified time value corresponding the specified time value and modifiers in the specified format.
Syntax
Here is the syntax of the SQLite strftime()
function:
strftime(format, time_value [, modifier, modifier, ...])
Parameters
format
time_value
-
Optional. A time value. The time value can be in any of the following formats, as shown below. The value is usually a string, but in the case of format 12 it can be an integer or a floating point number.
YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM:SS.SSS
YYYY-MM-DDTHH:MM
YYYY-MM-DDTHH:MM:SS
YYYY-MM-DDTHH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
now
- the current date and timeDDDDDDDDDD.dddddd
- Julian days number with fractional part
modifier
-
Optional. You can use zero or more modifiers to change the time value
time_value
. Multiple modifiers are applied sequentially from left to right. You can use modifiers like this:NNN days
- AddNNN
days to the time valueNNN hours
- AddNNN
hours to the time valueNNN minutes
- AddNNN
minutes to the time valueNNN.NNNN seconds
- AddNNN.NNNN
seconds to the time valueNNN months
- AddNNN
months to the time valueNNN years
- AddNNN
years to the time valuestart of month
- Fall back to the beginning of the month intime_value
start of year
- Fall back to the beginning of the year intime_value
start of day
- Fall back to the beginning of the day intime_value
weekday N
- Advancetime_value
ββto weekdayN
unixepoch
- Unix timestamp for nowjulianday
- The Julian calendar days for nowauto
localtime
- The current timeutc
- The utc time
The
NNN
represents a number. Can be a positive or negative number. IfNNN
is negative, it means subtraction.
Return value
The SQLite strftime()
function returns a string in the specified format. If no arguments are provided, the strftime()
function returns the current date.
If you don’t provide the format
argument , the strftime()
function will return NULL
.
All other date or time functions can be implemented using the strftime()
function:
strftime('%Y-%m-%d', ...)
is equivalent todate(...)
.strftime('%H:%M:%S', ...)
is equivalent totime(...)
.strftime('%Y-%m-%d %H:%M:%S', ...)
is equivalent todatetime(...)
.strftime('%J', ...) -- note-1
is equivalent tojulianday(...)
, except thatjulianday(...)
returns a number.strftime('%s', ...) -- note-1
is equivalent tounixepoch(...)
, except thatunixepoch(...)
returnes an integer.
Examples
Here are some examples to show usages of the SQLite strftime()
function.
-
Get the current date using the SQLite
strftime()
function:SELECT strftime('%Y-%m-%d'), strftime('%Y-%m-%d', 'now');
strftime('%Y-%m-%d') strftime('%Y-%m-%d', 'now') -------------------- --------------------------- 2022-07-26 2022-07-26
-
Use SQLite
strftime()
function to get current datetime:SELECT strftime('%Y-%m-%d %H:%M:%S'), strftime('%Y-%m-%d %H:%M:%S', 'now');
strftime('%Y-%m-%d %H:%M:%S') strftime('%Y-%m-%d %H:%M:%S', 'now') ----------------------------- ------------------------------------ 2022-07-26 08:47:26 2022-07-26 08:47:26
-
Get the current time using the SQLite
strftime()
function:SELECT strftime('%H:%M:%S'), strftime('%H:%M:%S', 'now');
strftime('%H:%M:%S') strftime('%H:%M:%S', 'now') -------------------- --------------------------- 08:48:40 08:48:40
-
Use the SQLite
strftime()
function to get the Unix timestamp of the current time:SELECT strftime('%s'), strftime('%s', 'now');
strftime('%s') strftime('%s', 'now') -------------- --------------------- 1658825364 1658825364
-
Get the current date using the SQLite
strftime()
function:SELECT strftime('%Y-%m-%d', 'now', 'start of year', '1 year', '-1 day');
strftime('%Y-%m-%d', 'now', 'start of year', '1 year', '-1 d ------------------------------------------------------------ 2022-12-31