# Modificadores de fecha

> Modificadores de fecha y hora en StackQL: desplazar los resultados de DATE, TIME, DATETIME, JULIANDAY y STRFTIME en días, meses o años, al inicio de un período, a un día de la semana y más.

Source: https://stackql.io/es/language-spec/functions/datetime/date_modifiers

## Descripción general

Los valores de fecha u hora de las funciones de fecha y hora de StackQL pueden ir seguidos de cero o más modificadores que alteran la fecha, la hora o ambas. Cada modificador es una transformación que se aplica al valor de tiempo situado a su izquierda. Los modificadores se aplican en orden, de izquierda a derecha. Los modificadores disponibles son los siguientes:

| Modificador          | Descripción                                                                      |
|----------------------|----------------------------------------------------------------------------------|
| NNN day(s)           | Sumar ±NNN días a una fecha y hora                                               |
| NNN hour(s)          | Sumar ±NNN horas a una fecha y hora                                              |
| NNN minute(s)        | Sumar ±NNN minutos a una fecha y hora                                            |
| NNN[.NNNN] second(s) | Sumar ±NNN segundos a una fecha y hora o restarlos de ella                       |
| NNN month(s)         | Sumar ±NNN meses a una fecha y hora                                              |
| NNN year(s)          | Sumar ±NNN años a una fecha y hora                                               |
| start of month       | Retroceder al inicio del mes                                                     |
| start of year        | Retroceder al inicio del año                                                     |
| start of day         | Retroceder al inicio del día                                                     |
| weekday N            | Avanzar una fecha hasta la siguiente fecha cuyo número de día de la semana sea N |
| localtime            | Devolver la hora local                                                           |
| utc                  | Devolver la hora UTC                                                             |
| unixepoch            | Tiempo Unix                                                                      |

## Ejemplos

### Devolver la fecha y hora actuales con el modificador `now`

```sql
SELECT name, date('now') as date, time('now') as time
FROM google.storage.buckets WHERE project = 'stackql';
```

### Convertir UTC a hora local con el modificador `localtime`

```sql
SELECT name, timeCreated,
datetime(timeCreated, 'localtime') as local_time_created
FROM google.storage.buckets WHERE project = 'stackql';
```

### Convertir una fecha y hora a UTC

```sql
SELECT name, timeCreated,
datetime('now', 'utc') as now_utc
FROM google.storage.buckets WHERE project = 'stackql';
```

### Calcular una fecha relativa a otra fecha

```sql
SELECT name, timeCreated,
datetime(timeCreated, '+24 hours') as a_day_later
FROM google.storage.buckets WHERE project = 'stackql';
```

### Obtener el siguiente día de la semana especificado posterior a una fecha dada

```sql
SELECT name, timeCreated,
datetime(timeCreated, 'weekday 0') as following_sunday
FROM google.storage.buckets WHERE project = 'stackql';
```

### Obtener el inicio del mes de una fecha dada

```sql
SELECT name, timeCreated,
datetime(timeCreated, 'start of month') as start_of_month
FROM google.storage.buckets WHERE project = 'stackql';
```

### Convertir una marca de tiempo de Unix en un valor de fecha y hora

```sql
SELECT datetime(1576417943, 'unixepoch') as date_from_ts
FROM google.storage.buckets WHERE project = 'stackql';
```

:::tip 

Para convertir un valor de fecha y hora en una marca de tiempo de época Unix, consulte [**STRFTIME**](/language-spec/functions/datetime/strftime).  Para calcular diferencias entre dos objetos de fecha y hora, consulte [**STRFTIME**](/language-spec/functions/datetime/strftime) o [**JULIANDAY**](/language-spec/functions/datetime/julianday).

:::
