This SQLite post explains how to use the SQLite datetime function with syntax and examples.
The SQLite datetime function is a very powerful function that can calculate a date/time value, and return it in the format 'YYYY-MM-DD HH:MM:SS'.
The syntax for the datetime function in SQLite is:
A date value. It can be one of the following:
timestring | Explanation |
---|---|
now | now is a literal used to return the current date. |
YYYY-MM-DD | Date value formatted as 'YYYY-MM-DD' |
YYYY-MM-DD HH:MM | Date value formatted as 'YYYY-MM-DD HH:MM' |
YYYY-MM-DD HH:MM:SS | Date value formatted as 'YYYY-MM-DD HH:MM:SS' |
YYYY-MM-DD HH:MM:SS.SSS | Date value formatted as 'YYYY-MM-DD HH:MM:SS.SSS' |
HH:MM | Date value formatted as 'HH:MM' |
HH:MM:SS | Date value formatted as 'HH:MM:SS' |
HH:MM:SS.SSS | Date value formatted as 'HH:MM:SS.SSS' |
YYYY-MM-DDTHH:MM | Date value formatted as 'YYYY-MM-DDTHH:MM' where T is a literal character separating the date and time portions |
YYYY-MM-DDTHH:MM:SS | Date value formatted as 'YYYY-MM-DDTHH:MM:SS' where T is a literal character separating the date and time portions |
YYYY-MM-DDTHH:MM:SS.SSS | Date value formatted as 'YYYY-MM-DDTHH:MM:SS.SSS' where T is a literal character separating the date and time portions |
DDDDDDDDDD | Julian date number |
Optional. These are modifiers that are applied to the timestring. Each modifier is applied in order and are cumulative. They can be one or more of the following:
modifier | Explanation |
---|---|
[+-]NNN years | Number of years added/subtracted to the date |
[+-]NNN months | Number of months added/subtracted to the date |
[+-]NNN days | Number of days added/subtracted to the date |
[+-]NNN hours | Number of hours added/subtracted to the date |
[+-]NNN minutes | Number of minutes added/subtracted to the date |
[+-]NNN seconds | Number of seconds added/subtracted to the date |
[+-]NNN.NNNN seconds | Number of seconds (and fractional seconds) added/subtracted to the date |
start of year | Shifting the date back to the start of the year |
start of month | Shifting the date back to the start of the month |
start of day | Shifting the date back to the start of the day |
weekday N | Moves the date forward to the next date where weekday number is N (0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday) |
unixepoch | Used with the DDDDDDDDDD timestring to interpret the date as UNIX Time (ie: number of seconds since 1970-01-01) |
localtime | Adjusts date to localtime, assuming the timestring was expressed in UTC |
utc | Adjusts date to utc, assuming the timestring was expressed in localtime |
The datetime function can be used in the following versions of SQLite:
Let's look at some SQLite datetime function examples and explore how to use the datetime function in SQLite.
You could retrieve the current date and time in SQLite using the "now" timestring with the datetime function as follows:
You can use the datetime function to manipulate a date/time value and add or subtract years to it. This is done using the 'NNN years' modifier with the datetime function as follows:
In these examples, we've used the 'NNN years' modifier to add 2 years in the first example, subtract 2 years in the second example, and add 5 years to the current date/time in the third example.
You can use the datetime function to manipulate a date/time value and add or subtract days to it. This is done using the 'NNN days' modifier with the datetime function as follows:
In these examples, we've used the 'NNN days' modifier to add 7 days in the first example, subtract 7 days in the second example, and add 10 days to the current date/time in the third example.
You can use the datetime function to manipulate a date/time value and add or subtract hours to it. This is done using the 'NNN hours' modifier with the datetime function as follows:
In these examples, we've used the 'NNN hours' modifier to add 2 hours in the first example, subtract 2 hours in the second example, and add 5 hours to the current date/time in the third example.
You can use the datetime function to manipulate a date/time value and add or subtract minutes to it. This is done using the 'NNN minutes' modifier with the datetime function as follows:
In these examples, we've used the 'NNN minutes' modifier to add 15 minutes in the first example, subtract 15 minutes in the second example, and add 30 minutes to the current date/time in the third example.