Funzioni Data e ora

Versione:
2023.1
Last modified: April 05, 2023

Una funzione Data e ora esegue un'azione o un calcolo su un valore di data e ora. Usa una funzione Data e ora per aggiungere o sottrarre intervalli, trovare la data corrente, trovare il primo o l'ultimo giorno del mese, estrarre un componente di un valore Data e Ora o convertire un valore in un formato diverso.

Supporto data

Designer non è in grado di elaborare le date precedenti al 1 gennaio 1400.

Alteryx utilizza il formato ISO yyyy-mm-dd HH:MM:SS per rappresentare date e ore. Se un valore Data e ora non è in questo formato, Alteryx lo legge come stringa. Per convertire una colonna per l'utilizzo e la modifica nel formato Data e Ora, utilizza la funzione DateTimeParse nell'editor delle espressioni o nello strumento Data e Ora.

Alcune funzioni Data e ora richiedono l'impostazione del formato della data. Le stringhe di formato sono costituite da identificatori e separatori.

Identificatori

Gli identificatori iniziano sempre con un segno di percentuale (%), seguito da una lettera con distinzione tra maiuscole e minuscole. I dati devono includere almeno un anno a due cifre.

Identificatore Output da DateTimeFormat Input supportato con DateTimeParse
%a Nome abbreviato del giorno della settimana ("lun") Qualsiasi abbreviazione valida di un giorno della settimana ("lun", "Mar.", "Gio"). Restituisce un errore solo se il testo fornito non è un giorno della settimana. Nota che Alteryx non controlla che il nome del giorno specificato sia valido per una data specifica.
%A Nome completo del giorno della settimana ("lunedì") Nome del giorno o qualsiasi abbreviazione valida di un giorno della settimana ("lun", "Mar.", "Gio"). Restituisce un errore solo se il testo fornito non è un giorno della settimana. Nota che Alteryx non controlla che il nome del giorno specificato sia valido per una data specifica.
%b Nome abbreviato del mese ("set") Qualsiasi abbreviazione valida del nome di un mese ("Set", "SET."). Restituisce un errore solo se il testo specificato non è un nome di un mese.
%B Nome completo del mese ("settembre") Nome del mese o qualsiasi abbreviazione valida del nome di un mese ("Set", "SET."). Restituisce un errore solo se il testo specificato non è un nome di un mese.
%c La data e l'ora delle impostazioni locali del computer. Non supportato
%C Numero del secolo ("20") Non supportato
%d Giorno del mese ("01") Una o due cifre, ignorando gli spazi ("1" o "01").
%D Equivalente a %m/%d/%y Non supportato
%e Giorno del mese, 0 iniziale sostituito da uno spazio (" 1"). Una o due cifre, ignorando gli spazi ("1" o "01").
%h Uguale a %b ("set") Qualsiasi abbreviazione valida del nome di un mese ("Set", "SET."). Restituisce un errore solo se il testo specificato non è un nome di un mese.
%H Ora nel formato 24 ore, da 00 a 23. Fino a due cifre per l'ora, da 0 a 23. Non compatibile con %p o %P.
%I
("i" maiuscola)
Ora nel formato 12 ore, da 01 a 12. Fino a due cifre per l'ora, da 1 a 12. Deve essere seguito da %p o %P.
%j Il giorno dell'anno, da 001 a 365 (o 366 negli anni bisestili) Giorno dell'anno a 3 cifre, da 001 a 365 (o 366 negli anni bisestili)
%k 24 ore, lo zero iniziale è lo spazio, da " 0" a "23". Fino a due cifre per l'ora.
%l
("l" minuscola)
12 ore, lo zero iniziale è lo spazio, da " 1" a "12". Non supportato
%M Minuti, da 00 a 59 minuti Fino a due cifre per i minuti.
%m Numero del mese, da 01 a 12. Numero del mese a una o due cifre, da 1 o 01 a 12.
%p "AM" o "PM" Caso cieco ("aM" o "Pm"). Deve seguire %I ("i" maiuscola, ora in formato 12 ore).
%P "am" o "pm" Caso cieco ("aM" o "Pm"). Deve seguire %I ("i" maiuscola, ora in formato 12 ore).
%S Secondi, da 00 a 59 Fino a due cifre per i secondi.
%T Tempo in notazione a 24 ore. Equivalente a %H:%M:%S Non supportato
%u Giorno della settimana come decimale, da 1 a 7, con lunedì come 1. Non supportato
%U Restituisce il numero della settimana, come 00 – 53, con l'inizio delle settimane come domenica. Non supportato
%w Giorno della settimana come numero, da 0 a 6, con domenica come 0. Non supportato
%W Restituisce il numero della settimana, come 00 – 53, con l'inizio delle settimane come lunedì. Non supportato
%x La data delle impostazioni locali del computer. Non supportato
%X L'ora nel formato 12 ore, incluse le specifiche AM o PM ("11:51:02 AM"). Hours:Minutes:Seconds [AM / PM]
%y Ultime due cifre dell'anno ("16"). Vengono lette fino a quattro cifre, interrompendo l'operazione in corrispondenza di un separatore o alla fine della stringa e vengono mappate a un intervallo dell'anno corrente sottraendo 66 e sommando 33. Ad esempio, nel 2016, tra 1950 e 2049.

Limitazione con date a sei cifre
Poiché per l'anno vengono lette fino a quattro cifre, i formati con due sole cifre senza separatore, come un indicatore di data a sei cifre (ad esempio %y%m%d per i dati simili a 170522 per il 22 maggio 2017), vengono comunque letti come quattro cifre. Per aggirare questa limitazione, è possibile:

  • Utilizzare quattro cifre per l'anno (ad esempio, 2017 anziché 17) a seconda dell'intervallo di date.
  • Usa lo strumento Regex per inserire uno spazio dopo le prime due cifre nella stringa.
%Y Tutte e quattro le cifre dell'anno ("2016"). Vengono lette due o quattro cifre. Due cifre vengono mappate a un intervallo dell'anno corrente sottraendo 66 e sommando 33. Ad esempio, nel 2016, tra 1950 e 2049.
%z Offset dall'ora UTC ("-600"). Non supportato
%Z Nome completo del fuso orario ("Ora legale fuso occidentale"). Non supportato

Separatori

I separatori vengono inseriti tra gli identificatori Data e Ora per formare una stringa di formato.

Separatore Output da DateTimeFormat Input supportato con DateTimeParse
/ / / o -
- - / o -
spazio Uno spazio Qualsiasi sequenza di spazi vuoti.
%n Una nuova riga Non supportato
%t Una scheda Non supportato
Altro Altri caratteri, ad esempio virgola, punto e due punti. Altri caratteri, ad esempio virgola, punto e due punti.

*DateTimeParse accetta indifferentemente le barre (/) e i trattini (-). Tuttavia, le virgole, i due punti e tutti gli altri separatori devono corrispondere esattamente ai dati in ingresso.

Parametri lingua

Si tratta dei valori compatibili per il parametro "l" (lingua) supportati con le funzioni DateTimeFormat e DateTimeParse.

Nome lingua inglese Nome lingua di origine Codice lingua
Inglese Inglese en
Italiano Italiano it
Francese Francese fr
Tedesco Tedesco de
Giapponese Giapponese ja
Spagnolo Spagnolo es
Portoghese Portoghese pt
Cinese 简体中文 zh

Oltre ai valori di cui sopra, sono accettabili anche i valori con almeno 2 caratteri che iniziano con uno qualsiasi dei valori precedenti. Ad esempio, eng, engl, engli, ecc. per inglese o esp, espa, sp, spa, span, ecc. per spagnolo/español.

DateTimeAdd

DateTimeAdd(dt,i,u): aggiunge un intervallo specifico a un valore data-ora.

Parametri

dt: dati di data-ora espressi come colonna selezionata o come valore data-ora tra virgolette.

i: numero intero positivo o negativo di tempo da aggiungere o sottrarre.

u: unità data-ora specificata tra virgolette: anni, mesi, giorni, ore, minuti o secondi.

Esempio

DateTimeAdd(DateTimeToday(), -1, "days") restituisce la data del giorno precedente.

DateTimeAdd(DateTimeFirstOfMonth(), 1, "months") restituisce il primo giorno del mese successivo.

DateTimeAdd("2016-01-30", 1, "month") restituisce 2016-02-29 (perché febbraio non ha 30 giorni ma l'ultimo giorno nell'anno indicato è il 29).

DateTimeAdd("2016-03-30", -1, "month") restituisce 2016-02-29 (perché febbraio non ha 30 giorni ma l'ultimo giorno nell'anno indicato è il 29).

Ulteriori informazioni

  • Qualsiasi frazione della durata viene troncata. Ad esempio, non è possibile aggiungere "1,5 ore". Aggiungi invece "90 minuti".
  • L'aggiunta di un'unità non modifica il valore delle unità più piccole. Ad esempio, l'aggiunta di ore non modifica il valore di minuti o secondi. L'aggiunta di mesi non modifica il giorno o l'ora, a meno che il mese risultante non avrebbe tale giorno. In questo caso, si va all'ultimo giorno di quel mese.

DateTimeDay

DateTimeDay(dt): restituisce il valore numerico del giorno del mese in un valore data-ora.

Parametri

dt: dati di data-ora espressi come colonna selezionata o come valore data-ora tra virgolette.

Esempio

DateTimeDay("2017-03-24 11:43:23") restituisce 24.

DateTimeDiff

DateTimeDiff(dt1,dt2,u): sottrae il secondo argomento dal primo e lo restituisce come differenza con un numero intero. La durata viene restituita come numero, non come stringa, nelle unità di tempo specificate.

Parametri

dt: dati di data-ora espressi come colonna selezionata o come valore data-ora tra virgolette.

u: unità data-ora specificata tra virgolette: anni, mesi, giorni, ore, minuti o secondi.

Esempio

DateTimeDiff("2016-02-15 00:00:00", "2016-01-15 00:00:01", "Months") restituisce 1 (perché l'inizio e la fine coincidono con lo stesso giorno del mese).

DateTimeDiff("2012-02-29","2011-03-01","years") restituisce 0 (anche se la data 2012-02-29 cade 365 giorni dopo 2011-03-01, il 29 febbraio precede il 1° marzo, quindi "un anno" non è ancora trascorso completamente).

DateTimeDiff("2016-02-14", "2016-01-15", "Months") restituisce 0 (perché il giorno di febbraio è precedente al giorno di gennaio)

DateTimeDiff("2016-02-14 23:59:59", "2016-01-15 00:00:00", "Months") restituisce 0 (anche se manca solo un secondo per arrivare al giorno richiesto).

DateTimeDiff('2017-02-28', '2016-02-29', 'Months') restituisce 11 (anche se il 28 è l'ultimo giorno di febbraio nel 2017, 28 è precedente a 29)

Ulteriori informazioni

  • Per le differenze di mese e anno, un mese viene conteggiato solo quando il giorno di fine raggiunge il giorno di inizio, ignorando l'ora del giorno.
  • Per la precisione di giorno, ora, minuto e secondo, il risultato viene calcolato in modo preciso, quindi le parti frazionarie vengono troncate, non arrotondate. Quindi...
    DateTimeDiff(‘2016-01-01 00:59:59’, ‘2016-01-01 00:00:00’, ‘Hours’) è zero.
    DateTimeDiff(‘2016-01-01 23:59:59’, ‘2016-01-01 00:00:00’, ‘Days’) è zero.
  • I nomi di precisione possono essere abbreviati con i primi tre caratteri (ad esempio "sec" e "min"); non esiste distinzione tra maiuscole e minuscole.
  • Presta attenzione quando si memorizzano le differenze di tempo in secondi. Un Int32 può includere solo una differenza di 68 anni in secondi o 4082 anni in minuti. È possibile utilizzare Double o Int64 per contenere intervalli tra tutte le date supportate.

DateTimeFirstOfMonth

DateTimeFirstOfMonth(): restituisce il primo giorno del mese a mezzanotte.

DateTimeFormat

DateTimeFormat(dt,f,l): converte i valori data-ora dal formato ISO a un altro formato specificato (f) in una lingua specifica (l) per l'uso da parte di un'altra applicazione. Output in un tipo di dati stringa.

Parametri

dt: dati di data-ora espressi come colonna selezionata o come valore data-ora tra virgolette.

f: il formato in cui convertire i dati, espresso in una stringa di formato.

l: parametro lingua opzionale. Per impostazione predefinita, il parametro della lingua è impostato sulla lingua selezionata in Designer. Ad esempio, se Designer è impostato su Francese, per impostazione predefinita la funzione sarà DateTimeParse(dt,f,"Français"). Per conoscere i valori accettati per la lingua, consulta l'argomento Parametri lingua.

Esempi

DateTimeFormat([DateTime_Out],"%d-%m-%Y") restituisce 22-04-2008 per la data del 22 aprile 2008 (formato ISO: 2008-04-22).

DateTimeFormat([DateTime_Out],"%A","Spanish") restituisce "martes" per la data ISO 2020-07-14 (dove il 14 luglio cade di martedì).

DateTimeHour

DateTimeHour(dt): restituisce l'ora di un valore data-ora.

Parametri

dt: dati di data-ora espressi come colonna selezionata o come valore data-ora tra virgolette.

Esempio

DateTimeHour("2017-03-24 11:43:23") restituisce 11.

DateTimeHour("2017-03-24") restituisce 0, poiché mezzanotte è l'ora presunta quando non viene specificata un'ora con una data.

DateTimeLastOfMonth

DateTimeLastOfMonth(): restituisce l'ultimo giorno del mese corrente, con l'orologio impostato su un secondo prima della fine del giorno (23:59:59).

Designer utilizza la data e l'ora in cui la formula viene analizzata per la prima volta. In un processo batch, questa ora viene utilizzata con ogni nuovo set di dati. Ciò consente la coerenza se il processo richiede molto tempo.

DateTimeMinutes

DateTimeMinutes(dt): restituisce i minuti di un valore data-ora.

Parametri

dt: dati Data e Ora, espressi come colonna selezionata o come valore Data e Ora specificato tra virgolette.

Esempio

DateTimeMinutes("2017-03-24 11:43:23") restituisce 43.

DateTimeMonth

DateTimeMonth(dt): restituisce il valore numerico del mese in un valore data-ora.

Parametri

dt: dati di data-ora espressi come colonna selezionata o come valore data-ora tra virgolette.

Esempio

DateTimeMonth("2017-03-24 11:43:23") restituisce 3.

DateTimeMonth("11:43:23") restituisce [Null] perché i dati in ingresso non sono validi.

DateTimeNow

DateTimeNow(): restituisce la data e l'ora correnti del sistema.

DateTimeParse

DateTimeParse(dt,f,l): converte una stringa data, con il formato specificato (f) e in una lingua specifica (l), nel formato ISO standard (aaaa-mm-gg HH:MM:SS).

Parametri

dt: dati della stringa data-ora espressi come campo selezionato o come stringa data-ora tra virgolette. I dati in ingresso devono essere un tipo di dati stringa e possono avere qualsiasi formato data-ora, purché sia conforme al formato specificato per il parametro f.

f: il formato dei dati della stringa della data in ingresso da convertire, espresso come stringa di formato tra virgolette.

l: (facoltativo): la lingua dei dati della stringa della data in ingresso da convertire. Per impostazione predefinita, il parametro della lingua è impostato sulla lingua selezionata in Designer. Ad esempio, se Designer è impostato su Francese, per impostazione predefinita la funzione sarà DateTimeParse(dt,f,"Français"). Per conoscere i valori accettati per la lingua, consulta l'argomento Parametri lingua.

Esempi

DateTimeParse("2016/28-03","%Y/%d-%m") restituisce 2016-03-28.

DateTimeParse([DateTimeNow],"%A %d %B %Y", "Français") restituisce 2020-07-14, dove la stringa della data in ingresso è "mardi 14 juillet 2020" (martedì 14 luglio 2020).

DateTimeSeconds

DateTimeSeconds(dt): restituisce i secondi di un valore data-ora.

Parametri

dt: dati di data-ora espressi come colonna selezionata o come valore data-ora tra virgolette.

DateTimeStart

DateTimeStart(): restituisce la data e l'ora di avvio dell'esecuzione del flusso di lavoro corrente.

DateTimeToday

DateTimeToday(): restituisce la data odierna.

Comportamento previsto: tipo di dati DateTimeToday

Nonostante il nome, DateTimeToday() non restituisce un valore per l'ora ma solo la data corrente. Puoi eseguire il wrapping della funzione DateTimeToday() nella funzione ToDateTime() per restituire un valore data-ora con l'ora impostata a mezzanotte del giorno corrente:

ToDateTime(DateTimeToday())

DateTimeToLocal

DateTimeToLocal(dt): converte un valore data-ora UTC nel fuso orario del sistema locale.

Parametri

dt: dati di data-ora espressi come colonna selezionata o come valore data-ora tra virgolette.

Esempi

DateTimeToLocal('2014-08-01 20:01:25') restituisce il fuso orario del sistema locale (fuso occidentale) come 2014-08-01 14:01:25.

DateTimeToUTC

DateTimeToUTC(dt): converte un parametro data-ora (nel fuso orario del sistema locale) in UTC.

Parametri

dt: dati di data-ora espressi come colonna selezionata o come valore data-ora tra virgolette.

Esempio

DateTimeToUTC(DateTimeNow()) restituisce il Coordinated Universal Time nel tempo di esecuzione del flusso di lavoro: 2014-08-01 20:01:25 (dove l'ora del fuso orario occidentale locale era 2014-08-01 14:01:25).

DateTimeTrim

DateTimeTrim(dt,t): rimuove le porzioni indesiderate di un valore data-ora e restituisce il valore modificato.

Parametri

dt: dati di data-ora espressi come colonna selezionata o come valore data-ora tra virgolette.

t: tipo di taglio. Le opzioni includono:

  • firstofmonth: il taglio viene applicato all'inizio del mese (produce lo stesso effetto di mese).
  • lastofmonth: il taglio viene esteso fino a un secondo prima della fine dell'ultimo giorno del mese.
  • year: il taglio viene applicato a mezzanotte del 1° gennaio.
  • month: il taglio viene applicato a mezzanotte del primo giorno del mese.
  • day: il taglio viene applicato al giorno (ovvero mezzanotte). In questo modo un parametro data-ora viene convertito in un giorno con un'ora pari a zero (non una data).
  • hour: il taglio viene applicato all'ora.
  • minute: il taglio viene applicato al minuto.

Il taglio di un parametro data-ora non arrotonda il valore restituito. Ad esempio, l'ora 15:59:59 tagliata all'ora diventa 15:00:00, non 16:00:00.

Esempio

DateTimeTrim("2016-12-07 16:03:00","year") restituisce 2016-01-01 00:00:00.

DateTimeYear

DateTimeYear(dt): restituisce il valore numerico dell'anno in un valore data-ora.

Parametri

dt: dati di data-ora espressi come colonna selezionata o come valore data-ora tra virgolette.

Esempio

DateTimeYear("2017-03-24 11:43:23") restituisce 2017.

ToDate

ToDate(x): converte una stringa, un numero o un valore data-ora in data.

  • Una stringa in ingresso deve essere formattata come YYYY-MM-DD. Ad esempio, 2020-10-31.
  • Un numero in ingresso deve essere formattato nel formato data di Excel, in cui il numero rappresenta il numero di giorni dal 01-01-1900. Ad esempio, 7000 che corrisponde a 03-01-1919.
  • Un valore data-ora in ingresso deve essere formattato come YYYY-MM-DD hh:mm:ss. Ad esempio, 2020-10-31 12:00:00.

Esempi

ToDate(2020-10-31) restituisce la data 2020-10-31.

ToDate(7000) restituisce la data 1919-03-01.

ToDate(2020-10-31 12:00:00) restituisce la data 2020-10-31.

ToDateTime

ToDateTime(x): converte una stringa, un numero o una data in un valore data-ora.

  • Una stringa in ingresso deve essere formattata come YYYY-MM-DD hh:mm:ss. Ad esempio, 2020-10-31 12:00:00.
  • Un numero in ingresso deve essere formattato nel formato data-ora di Excel, in cui il numero rappresenta il numero di giorni dal 01-01-1900. Ad esempio, 7000.354167 che corrisponde a 03-01-1919 alle 08:30 AM.
  • Una data in ingresso deve essere formattata come AAAA-MM-GG. Ad esempio, 2020-10-31.

Esempi

ToDateTime(2020-10-31) restituisce 2020-10-31 00:00:00 come valore data-ora.

ToDateTime(7000.354167) restituisce 1919-03-01 08:30:00 come valore data-ora.

ToDateTime(2020-10-31 12:00:00) restituisce 2020-10-31 12:00:00 come valore data-ora.

Questa pagina è stata utile?

Si sono verificati problemi con il tuo prodotto Alteryx? Visita la community Alteryx o contatta il supporto. Non riesci a inviare questo modulo? Inviaci un'e-mail.