English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
SQLite admite las siguientes cinco funciones de fecha y hora:
Número | Función | Ejemplo |
---|---|---|
1 | date(cadenaDeFechaYHora, modificador, modificador, ...) | Con YYYY-MM-Devuelve la fecha en formato DD. |
2 | time(cadenaDeFechaYHora, modificador, modificador, ...) | Devuelve la hora en formato HH:MM:SS. |
3 | datetime(cadenaDeFechaYHora, modificador, modificador, ...) | Con YYYY-MM-Formato DD HH:MM:SS |
4 | julianday(cadenaDeFechaYHora, modificador, modificador, ...) | Esto devolverá desde el tiempo de Greenwich en el año anterior a Cristo 4714 Año 11 Mes 24 Días desde mediodía. |
5 | strftime(formato, cadenaDeFechaYHora, modificador, modificador, ...) | Esto devolverá la fecha formateada según la cadena de formato especificada como primer parámetro. La formación específica se explica a continuación. |
Las cinco funciones de fecha y hora anteriores toman la cadena de fecha y hora como parámetro. La cadena de fecha y hora puede seguirse por cero o más modificadores. La función strftime() también puede tomar la cadena de formato como su primer parámetro. A continuación se explicarán en detalle diferentes tipos de cadenas de fecha y hora y modificadores.
Una cadena de fecha y hora puede adoptar cualquier una de las siguientes formas:
Número | Cadena de fecha y hora | Ejemplo |
---|---|---|
1 | YYYY-MM-DD | 2010-12-30 |
2 | YYYY-MM-DD HH:MM | 2010-12-30 12:10 |
3 | YYYY-MM-DD HH:MM:SS.SSS | 2010-12-30 12:10:04.100 |
4 | MM-DD-YYYY HH:MM | 30-12-2010 12:10 |
5 | HH:MM | 12:10 |
6 | YYYY-MM-DDTHH:MM | 2010-12-30 12:10 |
7 | HH:MM:SS | 12:10:01 |
8 | YYYYMMDD HHMMSS | 20101230 121001 |
9 | ahora | 2013-05-07 |
Puede usar "T" como carácter separador de fecha y hora.
Las cadenas de fecha y hora pueden seguirse por cero o más modificadores, lo que cambiará las fechas y horas devueltas por los cinco funciones anteriores./o hora. Cualquier una de las cinco funciones anteriores devuelve una hora. Los modificadores deben usarse de izquierda a derecha, a continuación se enumeran los modificadores que se pueden usar en SQLite:
NNN días
NNN horas
NNN minutos
NNN.NNNN segundos
NNN meses
NNN años
start of month
start of year
start of day
weekday N
unixepoch
localtime
utc
SQLite proporciona funciones muy convenientes strftime() para formatear cualquier fecha y hora. Puede usar los siguientes reemplazos para formatear la fecha y hora:
reemplazo | descripción |
---|---|
%d | el día del mes, 01-31 |
%f | segundos con decimales, SS.SSS |
%H | hora, 00-23 |
%j | el día del año, 001-366 |
%J | número juliano, DDDD.DDDD |
%m | mes, 00-12 |
%M | minuto, 00-59 |
%s | desde 1970-01-01 los segundos desde |
%S | segundo, 00-59 |
%w | el día de la semana, 0-6 (0 es domingo) |
%W | la semana del año, 01-53 |
%Y | año, YYYY |
%% | símbolo % |
Ahora, vamos a usar el símbolo de SQLite para intentar varios ejemplos. Las siguientes órdenes calculan la fecha actual.
sqlite> SELECT date('now'); 2013-05-07
Las siguientes órdenes calculan el último día del mes actual.
sqlite> SELECT date('now','start of month','+1 month','-1 day'); 2013-05-31
Las siguientes órdenes calculan la fecha y hora de un timestamp UNIX dado1092941466la fecha y hora.
sqlite> SELECT datetime(1092941466, 'unixepoch'); 2004-08-19 18:51:06
Las siguientes órdenes calculan la fecha y hora de un timestamp UNIX dado1092941466la fecha y hora, y compensa su zona horaria local.
sqlite> SELECT datetime(1092941466, 'unixepoch', 'localtime'); 2004-08-19 13:51:06
Las siguientes órdenes calculan el timestamp UNIX actual.
sqlite> SELECT strftime('%s','now'); 1393348134
Las siguientes órdenes calculan los días desde la firma de la Declaración de la Independencia de los Estados Unidos.
sqlite> SELECT julianday('now') - julianday('1776-07-04); 86798.7094695023
Las siguientes órdenes calculan desde2004los segundos desde una hora específica del año.
sqlite> SELECT strftime('%s','now') - strftime('%s','2004-01-01 02:34:56); 295001572
Las siguientes órdenes calculan el año en curso10la fecha del primer martes del mes.
sqlite> SELECT date('now','start of year','+9 months','weekday 2); 2013-10-01
Las siguientes órdenes calculan el tiempo desde la era UNIX en segundos (similares a strftime('%s', 'now'), pero incluyen la parte decimal).
sqlite> SELECT (julianday('now') - 2440587.5)*86400.0; 1367926077.12598
Para convertir valores de hora UTC y localtime al formatear fechas, utilice los modificador utc o localtime, como se muestra a continuación:
sqlite> SELECT time('12:00', 'localtime'); 05:00:00
sqlite> SELECT time('12:00', 'utc'); 19:00:00