Vai al contenuto

Gruppo Data e Ora

Abstract

Questo gruppo contiene funzioni per gestire dati con date e ore.


age

Restituisce la differenza fra due date o datetimes. La differenza è restituita come Interval e deve essere usata con una della seguenti funzioni per estrarre informazioni utili:

  • year
  • month
  • week
  • day
  • hour
  • minute
  • second

Sintassi:

  • age(datetime1, datetime2)

Argomenti:

  • datetime1 una stringa, in formato data o data/ora rappresentante la meno recente
  • datetime2 una stringa, in formato data o data/ora rappresentante la data più recente

Esempi:

age('2012-05-12','2012-05-02') → intervallo (usa day per estrarre il numero di giorni)
day(age('2012-05-12','2012-05-02')) → 10


datetime_from_epoch

Restituisce un datetime il cui data e ora sono il numero di millisecondi, msec, che sono passati dal 1970-01-01T00: 00: 00.000, Coordinated Universal Time (Qt.UTC) e convertiti in Qt.LocalTime.

Sintassi:

  • datetime_from_epoch(int)

Argomenti:

  • int numero (millisecondi)

Esempi:

datetime_from_epoch(1483225200000) → 2017-01-01T00:00:00

Feature introdotta a partire da QGIS 3.12


day

Estrae il giorno da una data, o il numero dei giorni da un intervallo.

Variabile data

Estrae il giorno da una data o un data/ora.

Sintassi:

  • day(date)

Argomenti:

  • date un valore data o data/ora

Variabile intervallo

Calcola la lunghezza in giorni di un intervallo.

Sintassi:

  • day(interval)

Argomenti:

  • interval valore intervallo da cui restituire il numero di giorni

Esempi:

day(to_interval('3 days')) → 3
day(to_interval('3 weeks 2 days')) → 23
day(age('2012-01-01','2010-01-01')) → 730


day_of_week

Restituisce il giorno della settimana per una data o un datetime. L'intervallo del valore restituito và da 0 a 6, dove 0 corrisponde a Domenica e 6 a Sabato.

Sintassi:

  • day_of_week(date)

Argomenti:

  • date valore data o datetime

Esempi:

day_of_week(todate('2018-05-09')) → 3 (Mercoledì)

Osservazioni:

  • 0 → Domenica
  • 1 → Lunedì
  • 2 → Martedì
  • 3 → Mercoledì
  • 4 → Giovedì
  • 5 → Venerdì
  • 6 → Sabato

epoch

Restituisce l'intervallo in millisecondi fra l'epoca unix e la data inserita.

Sintassi:

  • epoch(date)

Argomenti:

  • date un valore data o data/ora

Esempi:

epoch(to_date('2017-01-01')) → 1483203600000


format_date

Formatta un tipo di data o stringa in un formato stringa personalizzato. Usa stringhe nel formato data/ora Qt. Vedi QDateTime::toString.

Sintassi:

  • format_date(datetime, format[,language]_)

Argomenti:

  • datetime valora data, ora, o data/ora
  • format Modello di stringhe usato per formattare la stringa.
Espressione In uscita
d il giorno in numero senza lo zero iniziale (da 1 a 31)
dd il giorno in numero con lo zero iniziale (da 01 a 31)
ddd il nome locale del giorno abbreviato (es. da 'Mon' a 'Sun')
dddd il nome locale del giorno per esteso (es. da 'Monday' a 'Sunday')
M il mese in numero senza lo zero iniziale (1-12)
MM il mese in numero con lo zero iniziale (01-12)
MMM il nome locale del mese abbreviato (es. da 'Jan' a 'Dec')
MMMM il nome locale del mese per esteso (es. da 'January' a 'December')
yy l'anno come un numero a due cifre (00-99)
yyyy l'anno come un numero a quattro cifre

Queste espressioni possono essere usate per la parte time della stringa da formattare:

Espressione In uscita
h l'ora senza lo zero iniziale (da 0 a 23 o da 1 a 12 se visualizzi AM/PM)
hh l'ora con lo zero iniziale (da 00 a 23 o da 01 a 12 se visualizzi AM/PM)
H l'ora senza lo zero iniziale (da 0 a 23, anche se visualizzi AM/PM)
HH l'ora con lo zero iniziale (da 00 a 23, anche se visualizzi AM/PM)
m il minuto senza lo zero iniziale (da 0 a 59)
mm il minuto con lo zero iniziale (da 00 a 59)
s il secondo senza lo zero iniziale (da 0 a 59)
ss il secondo con lo zero iniziale (da 00 a 59)
z i millisecondi senza gli zeri iniziali (da 0 a 999)
zzz i millisecondi con gli zeri iniziali (da 000 a 999)
AP o A interpretato come un orario nel formato AM/PM. AP deve essere "AM" oppure "PM".
ap o a interpretato come un orario nel formato AM/PM. ap deve essere "am" oppure "pm".
  • language linguaggio (minuscolo, due o tre lettere, codice ISO 639) utilizzato per formattare la data in una stringa personalizzata (>= QGIS 3.12)

Esempi:

format_date('2012-05-15','dd.MM.yyyy') → '15.05.2012'
format_date('2012-05-15','d MMMM yyyy','fr') → '15 mai 2012'
format_date('2012-05-15','dddd') → 'Tuesday', se la lingua corrente è una variante inglese
format_date('2012-05-15 13:54:20','dd.MM.yy') → '15.05.12'
format_date('13:54:20','hh:mm AP') → '01:54 PM'


hour

Estrae la parte ore da una data/ora o orario, o il numero delle ore da un intervallo.

Variabile ora

Estrae la parte ore da un orario o data/ora.

Sintassi:

  • hour(datetime)

Argomenti:

  • datetime un valore data o data/ora

Esempi:

hour(to_datetime('2018-05-09T11:58:57')) → 11

Variabile intervallo

Calcola la lunghezza in ore di un intervallo.

Sintassi:

  • hour(interval)

Argomenti:

  • interval valore intervallo da cui restituire il numero di ore

Esempi:

hour(tointerval('3 hours')) → 3
hour(age('2012-07-22T13:00:00','2012-07-22T10:00:00')) → 3
hour(age('2012-01-01','2010-01-01')) → 17520


make_date

Crea un valore di data dai numeri di anno, mese e giorno.

Sintassi:

  • make_date(year,month,day)

Argomenti:

  • year Numero dell'anno. Gli anni da 1 a 99 vengono interpretati così come sono. L'anno 0 non è valido.
  • month Numero del mese, dove 1 = gennaio
  • day Day Numero del giorno, che inizia con 1 per il primo giorno del mese.

Esempi:

make_date(2020,5,4) → date value 2020-05-04`


make_datetime

Crea un valore datetime da anno, mese, giorno, ora, minuti e secondi numeri.

Sintassi:

  • make_datetime(year,month,day,hour,minute,second)

Argomenti:

  • year Numero dell'anno. Gli anni da 1 a 99 vengono interpretati così come sono. L'anno 0 non è valido.
  • month Numero del mese, dove 1 = gennaio
  • day Day Numero del giorno, che inizia con 1 per il primo giorno del mese;
  • hour numero ore;
  • minute minuti;
  • second secondi (i valori frazionari includono millisecondi).

Esempi:

make_datetime(2020,5,4,13,45,30.5) → datetime value 2020-05-04 13:45:30.500

Osservazioni:


make_interval

Crea un valore di intervallo dai valori di anno, mese, settimane, giorni, ore, minuti e secondi.

Sintassi:

  • make_interval(_years=0][,months=0][,weeks=0][,days=0][,hours=0][,minutes=0][,_seconds=0])

[ ] indica componenti opzionali

Argomenti:

  • year Numero di anni (presuppone una durata di 365,25 giorni).
  • month Numero di mesi (presuppone una durata del mese di 30 giorni)
  • weeks numero settimane;
  • day Numero di giorno;
  • hour numero ore;
  • minute minuti;
  • second secondi.

Esempi:

make_interval(2020,5,4,13,45,30.5) → datetime value 2020-05-04 13:45:30.500


make_time

Crea un valore temporale da ore, minuti e secondi numeri.

Sintassi:

  • make_time(hour,minute,second_)

Argomenti:

  • hour numero ore
  • minute minuti
  • second secondi (le frazioni includono i millisecondi)

Esempi:

make_time(13,45,30.5) → time value 13:45:30.500


minute

Estrae la parte minuti da un data/ora o ora, o il numero dei minuti da un intervallo.

Variabile ora

Estrae la parte minuti da una time o una datetime.

Sintassi:

  • minute(datetime)

Argomenti:

  • datetime un valore data o data/ora

Esempi:

minute('2012-07-22T13:24:57') → 24

Variabile intervallo

Calcola la lunghezza in minuti di un intervallo.

Sintassi:

  • minute(interval)

Argomenti:

  • interval valore intervallo da cui restituire il numero di minuti

Esempi:

minute(tointerval('3 minutes')) → 3
minute(age('2012-07-22T00:20:00','2012-07-22T00:00:00')) → 20
minute(age('2012-01-01','2010-01-01')) → 1051200


month

Estrae la parte mese da una data, o il numero di mesi da un intervallo.

Variabile data

Estrae la parte mese da una data o datetime.

Sintassi:

  • month(date)

Argomenti:

  • date un valore data o data/ora

Esempi:

month('2012-05-12') → 05

Variabile intervallo

Calcola la lunghezza in mesi di un intervallo.

Sintassi:

  • month(interval)

Argomenti:

  • interval valore intervallo da cui restituire il numero di mesi

Esempi:

month(to_interval('3 months')) → 3
month(age('2012-01-01','2010-01-01')) → 24.3333


now

Restituisce la data e l'ora correnti. La funzione è statica e restituirà risultati coerenti durante la valutazione. Il tempo restituito è il momento in cui viene preparata l'espressione.

Sintassi:

  • now()

Esempi:

now() → 2018-05-09 12:18:38`


second

Estrae la parte secondi da un datetime o time, o il numero dei secondi da un intervallo.

Variabile ora

Estrae la parte secondi da una time o una datetime.

Sintassi:

  • second(datetime)

Argomenti:

  • datetime un valore data o data/ora

Esempi:

second('2012-07-22T13:24:57') → 57

Variabile intervallo

Calcola la lunghezza in secondi di un intervallo.

Sintassi:

  • second(interval)

Argomenti:

  • interval valore intervallo da cui restituire il numero di secondi

Esempi:

second(age('2012-07-22T00:20:00','2012-07-22T00:00:00')) → 1200
second(age('2012-01-01','2010-01-01')) → 63072000


to_date

Converte una stringa in un oggetto data. È possibile fornire una stringa di formato opzionale per analizzare la stringa; vedi QDate::fromString o la documentazione della funzione format_date per ulteriore documentazione sul formato. Per impostazione predefinita, viene utilizzata la locale dell'utente di QGIS corrente.

Sintassi:

  • to_date(string,[format][,language])

[ ] indica componenti opzionali

Argomenti:

  • string stringa rappresentante il valore data
  • format formato usato per convertire la stringa in una data
  • language lingua (minuscolo, due o tre lettere, codice lingua ISO 639) utilizzata per convertire la stringa in una data. Per impostazione predefinita, viene utilizzata la locale dell'utente di QGIS corrente.

Esempi:

to_date('2012-05-04') → 2012-05-04
to_date('June 29, 2019','MMMM d, yyyy') → 2019-06-29, se la locale corrente utilizza il nome 'June' per il sesto mese, altrimenti si verifica un errore
to_date('29 juin, 2019','d MMMM, yyyy','fr') → 2019-06-29


to_datetime

Converte una stringa in un oggetto datetime. È possibile fornire una stringa di formato opzionale per analizzare la stringa; vedi QDate::fromString, QTime::fromString o la documentazione della funzione format_date per ulteriore documentazione sul formato. Per impostazione predefinita, viene utilizzata la locale dell'utente di QGIS corrente.

Sintassi:

  • to_datetime(string,[format][,language])

[ ] indica componenti opzionali

Argomenti:

  • string stringa rappresentante il valore data
  • format formato usato per convertire la stringa in una data
  • language lingua (minuscolo, due o tre lettere, codice lingua ISO 639) utilizzata per convertire la stringa in una data. Per impostazione predefinita, viene utilizzata la locale dell'utente di QGIS corrente.

Esempi:

to_datetime('2012-05-04 12:50:00') → 2012-05-04T12:50:00
to_datetime('June 29, 2019 @ 12:34','MMMM d, yyyy @ HH:mm') → 2019-06-29T12:34, se la locale corrente utilizza il nome 'June' per il sesto mese, altrimenti si verifica un errore
to_datetime('29 juin, 2019 @ 12:34','d MMMM, yyyy @ HH:mm','fr') → 2019-06-29T12:3


to_interval

Converte una stringa in un tipo intervallo. Può essere usata per estrarre giorni, ore, mese, etc. da una data.

Sintassi:

  • to_interval(string)

Argomenti:

  • string una stringa rappresentante un intervallo. I formati ammessi includono {n} giorni {n} ore {n} mesi.

Esempi:

to_interval('1 day 2 hours') → interval: 1.08333 days
to_interval( '0.5 hours' ) → intervallo: 30 minuti
to_datetime('2012-05-05 12:00:00') - to_interval('1 day 2 hours') → 2012-05-04T10:00:00


to_time

Converte un stringa in un oggetto ora. Una stringa opzionale di formato può essere fornita per valutare la stringa; Vedi QTime::fromString per documentazione aggiuntiva sul formato.

Sintassi:

  • to_time(string,[format][,language])

[ ] indica componenti opzionali

Argomenti:

  • string stringa rappresentante il valore ora
  • format formato usato per convertire la stringa in orario
  • language lingua (minuscolo, due o tre lettere, codice lingua ISO 639) utilizzata per convertire la stringa in un orario.
  • Esempi:
to_time('12:30:01') → 12:30:01
to_time('12:34','HH:mm') → 12:34:00
to_time('12:34','HH:mm','fr') → 12:34:00


week

Estrae il numero della settimana da una data, o il numero di settimane da un intervallo.

Variabile data

Estrae il numero della settimana da una data o un datetime.

Sintassi:

  • week(date)

Argomenti:

  • date un valore data o data/ora

Esempi:

week('2018-05-09') → 19

Variabile intervallo

Calcola la lunghezza in settimane di un intervallo.

Sintassi:

  • week(interval)

Argomenti:

  • interval valore intervallo da cui restituire il numero di mesi

Esempi:

week(tointerval('3 weeks')) → 3
week(age('2012-01-01','2010-01-01')) → 104.285


year

Estrae la parte anno da una data, o il numero di anni da un intervallo.

Variabile data

Estrae la parte anno da una data o datetime.

Sintassi:

  • year(date)

Argomenti:

  • date un valore data o data/ora

Esempi:

week('2018-05-09') → 19

Variabile intervallo

Calcola la lunghezza in anni di un intervallo.

Sintassi:

  • year(interval)

Argomenti:

  • interval valore intervallo da cui restituire il numero di anni

Esempi:

year(to_interval('3 years')) → 3
year(age('2012-01-01','2010-01-01')) → 1.9986