Una funzione Data e ora esegue un'azione o un calcolo su un valore di data e ora. Utilizza 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.
Alteryx utilizza il formato YYYY-MM-DD HH:MM:SS
per rappresentare date e ore. Per una maggiore precisione (fino a 18 cifre di precisione) aggiungere un punto e altre cifre dopo la posizione dei secondi. Ad esempio, AAAA-MM-GG HH:MM:SS.fff
. Quando 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.
Formato della data
Alcune funzioni Data e ora richiedono l'impostazione del formato della data. Le stringhe di formato sono costituite da identificatori e separatori.
Fai riferimento alle funzioni DateTime riportate di seguito.
DateTimeAdd(dt,i,u)
: aggiunge un intervallo specifico a un valore di data-ora.
dt
: dati data-ora.
i
: numero intero positivo o negativo di tempo da aggiungere o sottrarre.
u
: unità data-ora, specificata tra virgolette utilizzando le parole chiave elencate nella sezione Parole chiave per unità data-ora.
DateTimeAdd(DateTimeToday(), -1, "days")
restituisce la data di ieri.
DateTimeAdd(DateTimeFirstOfMonth(), 1, "months")
restituisce il primo del mese successivo.
DateTimeAdd("2016-01-30", 1, "month")
restituisce 2016-02-29 (perché febbraio non ha 30 giorni, ma l'ultimo giorno dell'anno indicato è il 29).
DateTimeAdd("2016-03-30", -1, "month")
restituisce 2016-02-29 (perché febbraio non ha 30 giorni, ma l'ultimo giorno dell'anno indicato è il 29).
DateTimeAdd("2016-03-30 01:02:03.000000", 495, "microseconds")
restituisce il 2016-03-30 01:02:03.000495.
Qualsiasi frazione della durata viene troncata. Ad esempio, non è possibile aggiungere "1,5 ore". Invece, aggiungi "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 includa tale giorno. In questo caso, si va all'ultimo giorno di quel mese.
Questa funzione esegue i calcoli come se il fuso orario non avesse modifiche dovute al cambio dell'ora legale e ora standard. Questo potrebbe produrre risultati imprevisti se il calcolo include date e ore in cui l'orario passa da ora legale a ora standard o viceversa. Se la precisione dell'orario effettivo trascorso è fondamentale, è necessario prima convertire i dati in UTC.
DateTimeDay(dt)
: restituisce il valore numerico del giorno del mese in un valore data-ora.
dt
: dati data-ora.
DateTimeDay("2017-03-24 11:43:23")
restituisce 24.
DateTimeDiff(dt1,dt2,u)
: sottrae il secondo argomento dal primo (dt1 – dt 2) e restituisce la differenza con un numero intero. La durata viene restituita come numero, non come stringa, nelle unità di tempo specificate.
dt
: dati data-ora.
u
: unità data-ora, specificata tra virgolette utilizzando parole chiave dalla sezione Parole chiave per unità data-ora.
DateTimeDiff("2024-01-18", "2024-01-15", "days")
restituisce 3.
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 è prima del 1° marzo, quindi "un anno" non è ancora trascorso completamente).
DateTimeDiff("2016-02-14", "2016-01-15", "Months")
restituisce 0 (perché il giorno di febbraio è inferiore 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 raggiungere il giorno richiesto).
DateTimeDiff('2017-02-28', '2016-02-29', 'Months')
restituisce 11 (anche se il 28 è l'ultimo giorno di febbraio nel 2017, è inferiore a 29).
DateTimeDiff('2017-02-28 00:59:59.28139502', '2017-02-28 00:59:59.12383125', 'msecs')
restituisce 157 (per millisecondi tra i valori data-ora).
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.
Questa funzione esegue i calcoli come se il fuso orario non avesse modifiche dovute al cambio dell'ora legale e ora standard. Questo potrebbe produrre risultati imprevisti se il calcolo include date e ore in cui l'orario passa da ora legale a ora standard o viceversa. Se la precisione dell'orario effettivo trascorso è fondamentale, è necessario prima convertire i dati in UTC.
DateTimeFirstOfMonth()
: restituisce il primo giorno del mese, a mezzanotte.
DateTimeFormat(dt,f,[l],[tz])
: converte i valori data-ora dal formato ISO a un formato specificato (f), in una lingua specificata (l), utilizzando il nome del fuso orario (tz) per l'uso da parte di un'altra applicazione. Output in un tipo di dati stringa. Se il formato specificato ha una precisione inferiore rispetto ai dati in entrata, l'output viene troncato e non arrotondato. Ad esempio, se si passa a un orario in microsecondi (.012789) e il formato specifica l'orario in millisecondi, il risultato viene troncato a .012 anziché arrotondato a .013. Il parametro del fuso orario opzionale consente di controllare lo stile del testo aggiunto alla stringa (ad esempio, "EDT").
dt
: dati data-ora.
f
: il formato in cui convertire i dati, espresso in una stringa di formato. Consulta la sezione Identificatori qui di seguito.
l
: si tratta di un parametro lingua opzionale. Per impostazione predefinita, è impostato sulla lingua selezionata in Designer. Ad esempio, se Designer è impostato su Francese, per impostazione predefinita la funzione sarà . Qualora si omettesse questo parametro, la funzione utilizzerà l'inglese indipendentemente dalla lingua specificata nell'interfaccia di Designer. Accedi a Parametri lingua per un elenco dei valori accettati per la lingua.
tz
: un parametro del fuso orario opzionale. Tieni presente che i dati non vengono convertiti. Serve semplicemente a guidare lo stile del testo aggiunto alla stringa.
L'identificatore del fuso orario determina l'offset da mostrare quando utilizzi l'istruzione del formato offset (%z) o per ottenere un nome per il fuso orario da mostrare quando utilizzi l'istruzione del formato nome del fuso orario (%Z).
Il nome del fuso orario conserva lo stile dell'argomento: breve (come EST), lungo (come Eastern Standard Time), generico (come ET) o specifico (come EST/EDT).
Il nome viene modificato in modo che corrisponda alla stagione corretta dei dati. Ad esempio, se il parametro tz venisse fornito come EST per il 2024-08-15, verrebbe corretto in EDT. Analogamente, per il 2024-01-15, se tz venisse fornito come EDT, verrebbe corretto in EST. Per entrambi gli esempi, se tz venisse fornito come ET generico, non verrebbe modificato per indicare l'ora legale o l'ora standard.
Qualora il parametro tz non venisse fornito nella chiamata della funzione, verrà utilizzato il fuso orario del sistema.
DateTimeFormat('2008-04-22',"%d-%m-%Y")
restituisce 22-04-2008 per la data 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ì).
DateTimeFormat('11:59:57.890994389','%H:%M:%S.%5')
restituisce "11:59:57.89099" (tronca a 5 cifre di precisione in base alle cifre specificate).
DateTimeFormat('11:59:57.99','%H:%M:%S,%3')
restituisce "11:59:57,990" (è possibile ottenere il separatore decimale delle impostazioni locali. In questo esempio viene utilizzata una virgola anziché una virgola decimale).
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'ET')
restituisce "10 marzo 24 01:00:00 ET". Lo stile dell'argomento fuso orario è breve e generico, quindi viene utilizzato nel risultato.
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'EDT')
restituisce "10 marzo 24 01:00:00 EST". Lo stile dell'argomento fuso orario è breve e specifico. Non è corretto per l'ora dei dati. Il risultato fornisce l'offset del fuso orario specifico corretto.
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'Eastern Time')
restituisce "10 marzo, 24 01:00:00 Eastern Time". Lo stile viene mantenuto e non è necessario correggere il cambio di orario.
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'Eastern Daylight Time')
restituisce "10 marzo, 24 01:00:00 Eastern Standard Time". Il cambio del fuso orario viene corretto.
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %z', '', 'ET')
restituisce "10 marzo, 24 01:00:00 -0400".
DateTimeHour(dt)
: restituisce la porzione dell'ora in un valore data-ora.
dt
: dati data-ora.
DateTimeHour("2017-03-24 11:43:23")
restituisce 11.
DateTimeHour("2017-03-24")
restituisce 0 poiché mezzanotte è l'ora presunta in cui non è specificata nessuna ora con una data.
DateTimeLastOfMonth()
: restituisce l'ultimo giorno del mese corrente, con l'orologio impostato a un secondo prima della fine del giorno (23:59:59).
Designer utilizza la data e l'ora di avvio dell'esecuzione del flusso di lavoro. 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(dt)
: restituisce la porzione di minuti dell'orario in un valore data-ora.
dt
: dati data e ora
DateTimeMinutes("2017-03-24 11:43:23")
restituisce 43.
DateTimeMonth(dt)
: restituisce il valore numerico del mese in un valore data-ora.
dt
: dati data-ora.
DateTimeMonth("2017-03-24 11:43:23")
restituisce 3.
DateTimeMonth("11:43:23")
restituisce [Null] perché i dati in ingresso non sono validi.
DateTimeNow([tz])
: restituisce la data e l'ora correnti, inclusi i secondi. Quando pecifichi il parametro del fuso orario (tz) opzionale, l'orario restituito si riferisce a quel fuso orario. Quando non specifichi il fuso orario, l'orario restituito si riferisce al fuso orario del sistema.
tz
: (opzionale) consente di fornire un fuso orario per l'ora restituita. Se fornito, l'ora restituita utilizza questo fuso orario. Se omesso, l'ora restituita utilizza il fuso orario del sistema in uso.
DateTimeNowPrecise(digits,[tz])
: restituisce la data e l'ora correnti del sistema con frazioni di secondo (fino a 18 cifre di precisione). Quando pecifichi il parametro del fuso orario (tz) opzionale, l'orario restituito si riferisce a quel fuso orario. Quando non specifichi il fuso orario, l'orario restituito si riferisce al fuso orario del sistema.
Ricorda che se richiedi una precisione superiore a quella fornita dal sistema operativo, la funzione inserisce degli zeri per le cifre restanti.
cifre
: specifica la precisione del valore restituito, tra 0 e 18 (inclusi).
tz
: (opzionale) consente di fornire un fuso orario per l'ora restituita. Se fornito, l'ora restituita utilizza questo fuso orario. Se omesso, l'ora restituita utilizza il fuso orario del sistema in uso.
DateTimeNowPrecise(3)
restituisce "2022-10-14 11:59:57.991".
DateTimeNowPrecise(12)
restituisce "2022-10-14 11:59:57.991238400000".
DateTimeParse(string,f,[l],[tzName])
: converte una stringa data con il formato specificato (f) e in una lingua specificata (l), con il fuso orario specificato (tzName) nel formato (AAAA-MM-GG HH:MM:SS
) con la precisione di data-ora opzionale, se applicabile). Se il formato specificato ha una precisione inferiore, l'output viene troncato.
stringa
: dati stringa data-ora. 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.
Fusi orari
Se il formato in entrata include %z o %Z, Alteryx conosce il fuso orario di input. Converte il valore del risultato di data e ora nel fuso orario locale o nel fuso orario specificato. Quando il formato o i dati non contengono informazioni sul fuso orario, Alteryx presuppone che l'input sia già nel fuso orario locale e non applica quindi alcun spostamento di orario.
Esamina i tuoi dati e adotta le misure appropriate per assicurarti che l'output sia nel formato previsto. Per importanti considerazioni sul fuso orario, consulta la sezione Fuso orario e cambio ora legale/ora standard.
l
: (facoltativo): la lingua dei dati della stringa della data in ingresso da convertire. Per impostazione predefinita, quando si modificano le formule, il parametro della lingua è impostato sulla lingua selezionata in Designer. Se omesso o vuoto, viene utilizzato "Inglese". Ad esempio, se Designer fosse impostato su Francese, per impostazione predefinita la funzione sarebbe DateTimeParse(string,f,"Français"). Per conoscere i valori accettati per la lingua, consulta l'argomento Parametri lingua.
tz
: (facoltativo) il fuso orario in cui convertire i dati se %z o %Z sono presenti nel formato e se il testo contiene il nome di un fuso orario o di un offset. Gli esempi contribuiranno a chiarire questo aspetto. Se il fuso orario viene omesso, per la conversione viene utilizzato il fuso orario del sistema.
DateTimeParse("2016/28-03","%Y/%d-%m")
restituisce 2016-03-28.
DateTimeParse('mardi 14 juillet 2020', '%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).
DateTimeParse('Oct 4, 22 11:59:57.99', '%b %d, %y %H:%M:%S')
restituisce "2022-10-04 11:59:57". La funzione esclude le cifre finali.
DateTimeParse('Oct 4, 22 11:59:57.99', '%b %d, %y %H:%M:%S.%3')
restituisce "2022-10-04 11:59:57.990". La funzione aggiunge zeri per corrispondere al formato %3.
DateTimeParse('Oct 4, 22 11:59:57.99', '%b %d, %y %H:%M:%S,%3')
restituisce [Null] e l'avviso che era previsto "," invece di ".".
DateTimeParse('Mar 10, 24 01:00:00 PST', '%b %d, %y %T %Z')
restituisce "2024-03-10 04:00:00" se il fuso orario locale è Eastern.
DateTimeParse('Mar 12, 24 01:00:00 PST', '%b %d, %y %T %Z')
restituisce "2024-03-12 05:00:00" se il fuso orario locale è il fuso orientale perché l'orario orientale è già cambiato in EDT (Eastern Daylight Time).
DateTimeParse('Mar 10, 24 01:00:00', '%b %d, %y %T %Z')
restituisce "2024-03-10 01:00:00" se il fuso orario locale è Eastern. Anche se il formato richiedeva informazioni sul fuso orario, queste non erano presenti nei dati. Senza conoscere il fuso orario dei dati di input, non viene eseguita alcuna conversione.
DateTimeParse('Mar 10, 24 01:00:00 PST', '%b %d, %y %T')
restituisce "2024-03-11 01:00:00". Come nell'esempio precedente, qualora il formato non richiedesse di utilizzare le informazioni sul fuso orario, tutti i dati che potrebbero contenere dati sul fuso orario verranno ignorati.
DateTimeQuarter(dt,[Q1Start]
: restituisce il valore numerico per il trimestre dell'anno nel quale rientra un valore data-ora (AAAA-MM-GG). Utilizza il parametro numerico opzionale per indicare il mese di inizio per il primo trimestre (Q1).
dt
: dati data-ora.
Q1Start
: parametro numerico opzionale per indicare il mese di inizio per Q1 (1-12).
DateTimeQuarter("2023-01-03")
restituisce 1. Nessun errore perché il secondo parametro è opzionale.
DateTimeQuarter("2023-05-03", 1)
restituisce 2.
DateTimeQuarter("2023-05-03", 7)
restituisce 4. Il parametro opzionale indica che Q1 inizia a luglio.
DateTimeQuarter("2023-05-03 12:04:55", 7)
restituisce 4. Il parametro opzionale indica che Q1 inizia a luglio; l'indicatore di data e ora viene ignorato.
DateTimeQuarter("2023-01-03", 13)
restituisce null. Il secondo parametro deve essere un valore numerico compreso tra 1 e 12.
DateTimeQuarter("2023-01-03", 0)
restituisce null. Il secondo parametro deve essere un valore numerico compreso tra 1 e 12.
DateTimeQuarter("2023-01-03", -1)
restituisce null. Il secondo parametro deve essere un valore numerico compreso tra 1 e 12.
DateTimeQuarter("12:00:55")
restituisce null.
DateTimeSeconds(dt)
: restituisce la parte in secondi dell'ora in un valore data-ora, inclusa la precisione al di sotto del secondo, se applicabile.
dt
: dati data-ora.
DateTimeSeconds('11:59:57.99')
restituisce 57.99.
DateTimeSeconds('11:59:57')
restituisce 57.
DateTimeStart()
: restituisce la data e l'ora in cui il flusso di lavoro corrente ha iniziato ad essere eseguito, utilizzando il fuso orario del sistema.
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 DateTimeToday()
funzione nella ToDateTime()
funzione per restituire un valore data-ora con l'ora impostata a mezzanotte del giorno corrente:
ToDateTime(DateTimeToday())
DateTimeToLocal(dt,[tz])
: converte un valore data-ora UTC nell'argomento tz opzionale, altrimenti nel fuso orario del sistema locale. La funzione DateTimeToLocal ora supporta la precisione di data-ora nel campo dt.
Nota
Il risultato non contiene alcuna indicazione su quale sia il suo fuso orario. Devi utilizzare DateTimeFormat o modificare il risultato come stringa per indicare il fuso orario, se richiesto. Se utilizzi DateTimeFormat, l'argomento tz deve essere un nome dello stesso tz utilizzato nella conversione. Potrebbe utilizzare uno stile diverso come EST, o Eastern Daylight Time, America/New_York oppure "-0400". Per importanti considerazioni sul fuso orario, consulta la sezione Fuso orario e cambio dell'ora legale/ora standard.
dt
: dati data-ora.
tz
: parametro del fuso orario opzionale in base al quale convertire i dati data-ora. Quando (tz) non viene fornito nella chiamata della funzione, viene utilizzato il fuso orario del sistema.
DateTimeToLocal('2014-08-01 20:01:25')
converte il fuso orario del sistema locale (Mountain Time) in 2014-08-01 14:01:25.
DateTimeToLocal('2024-08-15 09:00:00.123')
Converte l'ora UTC nell'orario del sistema che potrebbe essere America/New_York, restituendo "2024-08-15 05:00:00.123" oppure potrebbe essere America/Denver, restituendo "2024-08-03:00:00.123".
DateTimeToLocal('2024-08-15 09:00:00.123', 'EST')
Converte l'ora UTC in ora legale orientale, anche se l'ora specificata è l'ora standard. La specifica dell'ora legale/standard viene ignorata quando si cerca il fuso orario per la conversione e quindi si ottiene "2024-08-15 05:00:00.123".
DateTimeToUTC(dt,[tz])
: converte un valore data-ora (nel fuso orario del sistema locale o nel fuso orario fornito) in UTC. Si presume che l'input del valore data-ora si riferisca al fuso orario specificato o nel fuso orario del sistema in cui è in esecuzione il flusso di lavoro. La funzione DateTimeToUTC ora supporta la precisione di data-ora nel campo dt.
Nota
Il risultato non contiene alcuna indicazione che si tratti dell'ora UTC. Devi utilizzare DateTimeFormat o modificare il risultato come stringa per indicare il fuso orario, se richiesto. Quando utilizzi DateTimeFormat, l'argomento tz deve essere un nome dello stesso fuso orario utilizzato nella conversione. Potrebbe utilizzare uno stile diverso come UTC, GMT o Z oppure "+0000". Per importanti considerazioni sul fuso orario, consulta la sezione Fuso orario e cambio dell'ora legale/ora standard.
dt
: dati data-ora.
tz
: un parametro del fuso orario opzionale. Quando tz non viene fornito nella chiamata della funzione, viene utilizzato il fuso orario del sistema.
DateTimeToUTC(DateTimeNow())
restituisce Coordinated Universal Time in fase di esecuzione del flusso di lavoro: 2014-08-01 20:01:25 (dove l'ora locale del fuso orario Mountain time era 2014-08-01 14:01:25)
DateTimeToUTC('2024-08-15 09:00:00.123')
converte l'ora in UTC dall'orario del sistema, che può essere America/New_York, restituendo "2024-08-15 13:00:00.123" o America/Denver, restituendo "2024-08-15:00:00.123".
DateTimeTrim(dt,t)
: rimuove le porzioni indesiderate di un valore data-ora e restituisce il valore data-ora modificato.
dt
: dati data-ora.
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 a 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.
secondi
: taglio delle virgolette dei secondi e della seconda frazione utilizzando le parole chiave della sezione Parole chiave per unità data-ora.
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.
DateTimeTrim("2016-12-07 16:03:00","year")
restituisce 2016-01-01 00:00:00.
DateTimeTrim('2016-12-07 11:59:57.99','msec')
restituisce 2016-12-07 11:59:57.990.
DateTimeTrim('2016-12-07 11:59:57.99',4)
restituisce 2016-12-07 11:59:57.9900.
DateTimeTrim('2016-12-07 11:59:57.123456789','milliseconds')
restituisce 11:59:57.123.
DateTimeYear(dt)
: restituisce il valore numerico dell'anno in un valore data-ora.
dt
: dati data-ora.
DateTimeYear("2017-03-24 11:43:23")
restituisce 2017.
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 AAAA-MM-GG hh:mm:ss. Ad esempio, 2020-10-31 12:00:00.
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(x)
: converte una stringa, un numero o una data in un valore data-ora. La funzione ToDateTime non supporta una precisione superiore a secondi. Limita i valori Excel alla rappresentazione in secondi (5 cifre, fino a 99999).
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.
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.
Fare riferimento a questi identificatori, separatori, parole chiave e parametri della lingua per l'uso nelle funzioni data-ora.
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.
Suggerimento
Se preferisci visualizzare un elenco alfabetico, puoi farlo qui in basso.
Identificatore | Output da DateTimeFormat | Input supportato con DateTimeParse |
---|---|---|
Anno | ||
| 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:
|
| Tutte e quattro le cifre dell'anno ("2016"). | Vengono lette due o quattro cifre. Due cifre vengono mappate a un intervallo compreso tra l'anno corrente meno 66 e l'anno corrente più 33. Ad esempio, per il 2024, risulta tra 1958 e 2057. |
Mese | ||
| Nome abbreviato del mese ("set") | Qualsiasi abbreviazione valida del nome di un mese ("Set", "SET."). Restituisce un errore solo quando il testo specificato non è il nome di un mese. |
| 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 è il nome di un mese (nella lingua specificata). |
| Nome abbreviato del mese Uguale a %b ("set") | Qualsiasi abbreviazione valida del nome di un mese ("Set", "SET."). Restituisce un errore solo se il testo specificato non è il nome di un mese. |
| Numero del mese, da 01 a 12. | Numero del mese a una o due cifre, da 1 o 01 a 12. |
Settimana | ||
| Restituisce il numero della settimana, come 00 – 53, con l'inizio delle settimane come domenica. | Non supportato |
| Restituisce il numero della settimana, come 00 – 53, con l'inizio delle settimane come lunedì. | Non supportato |
Giorno dell'anno/mese | ||
| Giorno del mese ("01") | Una o due cifre, ignorando gli spazi ("1" o "01"). |
| Giorno del mese, 0 iniziale sostituito da uno spazio (" 1"). | Una o due cifre, ignorando gli spazi ("1" o "01"). |
| 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) |
Giorno della settimana | ||
| 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. Tieni presente che Alteryx non controlla che il nome del giorno specificato sia valido per una data specifica. |
| 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. Tieni presente che Alteryx non controlla che il nome del giorno specificato sia valido per una data specifica. |
| Giorno della settimana come decimale, da 1 a 7, con lunedì come 1. | Non supportato |
| Giorno della settimana come numero, da 0 a 6, con domenica come 0. | Non supportato |
Ora, minuto, secondo | ||
| 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. |
| 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. |
| 24 ore, lo zero iniziale è lo spazio, da " 0" a "23". | Fino a due cifre per l'ora. |
| Minuti, da 00 a 59 minuti | Fino a due cifre per i minuti. |
| Secondi, da 00 a 59 | Fino a due cifre per i secondi. |
Varie | ||
| Il numero di cifre di precisione per i sottosecondi. | Fino a 18 cifre di precisione per sottosecondi. |
| La data e l'ora delle impostazioni locali del computer. | Non supportato |
| Numero del secolo ("20") | Non supportato |
| Equivalente a %m/%d/%y | Non supportato |
| Uguale a %b ("set") | Qualsiasi abbreviazione valida del nome di un mese ("Set", "SET."). Restituisce un errore solo se il testo specificato non è il nome di un mese. |
| 12 ore, lo zero iniziale è lo spazio, da " 1" a "12". | Non supportato |
| "AM" o "PM" | Caso cieco ("aM" o "Pm"). Deve seguire %I ("i" maiuscola, ora in formato 12 ore). |
| "am" o "pm" | Caso cieco ("aM" o "Pm"). Deve seguire %I ("i" maiuscola, ora in formato 12 ore). |
| Tempo in notazione a 24 ore. Equivalente a %H:%M:%S | Tempo in notazione a 24 ore. Equivalente a %H:%M:%S |
| La data delle impostazioni locali del computer. | Non supportato |
| L'ora nel formato 12 ore, incluse le specifiche AM o PM ("11:51:02 AM"). | Ore:Minuti:Secondi [AM/PM] |
| Offset dall'ora UTC ("-600"). | Supportato per l'input. |
| Nome completo del fuso orario ("Ora legale fuso occidentale"). | Supportato per l'input. |
Identificatore | Output da DateTimeFormat | Input supportato con DateTimeParse |
---|---|---|
| Il numero di cifre di precisione per i sottosecondi. | Fino a 18 cifre di precisione per sottosecondi. |
| 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. Tieni presente che Alteryx non controlla che il nome del giorno specificato sia valido per una data specifica. |
| 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. Tieni presente che Alteryx non controlla che il nome del giorno specificato sia valido per una data specifica. |
| Nome abbreviato del mese ("set") | Qualsiasi abbreviazione valida del nome di un mese ("Set", "SET."). Restituisce un errore solo se il testo specificato non è il nome di un mese. |
| 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 è il nome di un mese (nella lingua specificata). |
| La data e l'ora delle impostazioni locali del computer. | Non supportato |
| Numero del secolo ("20") | Non supportato |
| Giorno del mese ("01") | Una o due cifre, ignorando gli spazi ("1" o "01"). |
| Equivalente a %m/%d/%y | Non supportato |
| Giorno del mese, 0 iniziale sostituito da uno spazio (" 1"). | Una o due cifre, ignorando gli spazi ("1" o "01"). |
| Nome abbreviato del mese 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. |
| 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. |
| 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. |
| 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) |
| 24 ore, lo zero iniziale è lo spazio, da " 0" a "23". | Fino a due cifre per l'ora. |
| 12 ore, lo zero iniziale è uno spazio, da " 1" a "12". | Non supportato |
| Minuti, da 00 a 59 minuti | Fino a due cifre per i minuti. |
| Numero del mese, da 01 a 12. | Numero del mese a una o due cifre, da 1 o 01 a 12. |
| "AM" o "PM" | Caso cieco ("aM" o "Pm"). Deve seguire %I ("i" maiuscola, ora in formato 12 ore). |
| "am" o "pm" | Caso cieco ("aM" o "Pm"). Deve seguire %I ("i" maiuscola, ora in formato 12 ore). |
| Secondi, da 00 a 59 | Fino a due cifre per i secondi. |
| Tempo in notazione a 24 ore. Equivalente a %H:%M:%S | Tempo in notazione a 24 ore. Equivalente a %H:%M:%S |
| Giorno della settimana come decimale, da 1 a 7, con lunedì come 1. | Non supportato |
| Restituisce il numero della settimana, come 00-53, con l'inizio della settimana come domenica. | Non supportato |
| Giorno della settimana come numero, da 0 a 6, con domenica come 0. | Non supportato |
| Restituisce il numero della settimana, come 00-53, con l'inizio delle settimane come lunedì. | Non supportato |
| La data delle impostazioni locali del computer. | Non supportato |
| L'ora nel formato 12 ore, incluse le specifiche AM o PM ("11:51:02 AM"). | Ore:Minuti:Secondi [AM / PM] |
| 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:
|
| Tutte e quattro le cifre dell'anno ("2016"). | Vengono lette due o quattro cifre. Due cifre vengono mappate a un intervallo compreso tra l'anno corrente meno 66 e l'anno corrente più 33. Ad esempio, per il 2024, risulta tra 1958 e 2057. |
| Offset dall'ora UTC ("-600"). | Supportato per l'input. |
| Nome completo del fuso orario ("Ora legale fuso occidentale"). | Supportato per l'input. |
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. |
| Una nuova riga | Non supportato |
| 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.
Queste parole chiave sono compatibili con le funzioni DateTimeAdd, DateTimeDiff e DateTimeTrim. Le parole chiave non fanno distinzione tra maiuscole e minuscole. Le parole chiave accettate per ciascuna unità sono separate da virgole.
In alcuni casi, si accettano abbreviazioni fino alla parola chiave completa. Queste sono specificate con fino a
nell'elenco seguente e vanno dall'abbreviazione più breve accettabile alla parola chiave completa. Per esempio, per secondi accettiamo sec
e secondi
, così come qualsiasi cosa intermedia, come seco
. Le parole chiave sono in inglese e la traduzione in altre lingue non è supportata.
È inoltre possibile utilizzare valori numerici come parole chiave per un tempo inferiore ai secondi. Sono incluse le unità non espressamente indicate nell'elenco riportato di seguito. Ad esempio, è possibile utilizzare la parola chiave "10" per indicare 10 cifre di precisione.
yea upto years
mon upto months
day, days
hou upto hours
min upto minutes
sec upto seconds
ds, dsec, dsecs, deciseconds, 1
cs, csec, csecs, centiseconds, 2
ms, msec, msecs, milliseconds, 3
us, usec, usecs, microseconds, 6
ns, nsec, nsecs, nanoseconds, 9
ps, psec, psecs, picoseconds, 12
fs, fsec, fsecs, femtoseconds, 15
as, asec, asecs, attoseconds, 18
Per alcuni esempi delle dimensioni del campo DateTime con varie unità di precisione, fai riferimento alla seguente tabella:
Nome | Abbreviazione | Dimensione DateTime | Esempio |
---|---|---|---|
Secondi |
| 19 (opzione predefinita) | 2023-02-24 01:23:45 |
Decisecondi (1) |
| 21 (19 + 1 + 1) | 2023-02-24 01:23:45.1 |
Centosecondi (2) |
| 22 (19 + 1 + 2) | 2023-02-24 01:23:45.12 |
Millisecondi (3) |
| 23 (19 + 1 + 3) | 2023-02-24 01:23:45.123 |
Microsecondi (6) |
| 26 (19 + 1 + 6) | 2023-02-24 01:23:45.123456 |
Nanosecondi (9) |
| 29 (19 + 1 + 9) | 2023-02-24 01:23:45.123456789 |
Picosecondi (12) |
| 32 (19 + 1 + 12) | 2023-02-24 01:23:45.123456789012 |
Femtosecondi (15) |
| 35 (19 + 1 + 15) | 2023-02-24 01:23:45.123456789012345 |
Attosecondi (18) |
| 38 (19 + 1 + 18) | 2023-02-24 01:23:45.123456789012345678 |
Si tratta dei valori compatibili per il parametro "l" (lingua) supportati dalle 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.
Sono disponibili molti stili per la denominazione dei fusi orari. I nomi possono essere lunghi (Mountain Time), brevi (MT), specifici (MDT, MST) o generici (MT). L'Internet Assigned Names Authority (IANA) gestisce un database delle informazioni sui fusi orari. Lo stile seguito per i nomi è Region/City (ad esempio America/Los Angeles, Europe/Paris).
Le informazioni sull'ora possono essere contrassegnate anche con l'offset relativo al fuso orario Coordinated Universal Time (UTC). Ad esempio, 11:31-0500 è un fuso orario che è 5 ore indietro rispetto al fuso orario UTC (nello stesso momento del fuso UTC sono le 16:31). Questo orario potrebbe essere Central Daylight Time, Eastern Standard Time o Peru Time. Lo stile IANA è il nome canonico di un fuso orario. Altri nomi potrebbero essere accettati a seconda delle impostazioni locali dell'utente.
Alteryx utilizza (ICU), una libreria ampiamente utilizzata per cercare informazioni sul fuso orario. Se il flusso di lavoro fa riferimento a un fuso orario che non riesce a trovare, il flusso di lavoro genera un errore.
Avvertimento
Tieni presente che i nomi brevi possono essere ambigui. Ad esempio, IST può essere Indian Standard Time, Israel Standard Time e Ireland Standard Time. Pertanto, fai attenzione ai dati di input.
Alteryx consiglia di sostituire i nomi brevi dei fusi orari con i nomi lunghi o nello stile IANA, in modo da garantire che i dati vengano gestiti correttamente. A tale scopo, puoi utilizzare lo strumento Trova Sostituisci.
Per trovare un fuso orario in base al nome, qualora la lingua in Designer fosse impostata su una lingua diversa dall'inglese (tramite Impostazioni utente > Lingua e regione), Alteryx interroga la libreria ICU per cercare il fuso tramite questa lingua. Quando non riesce a trovare il fuso orario con quella lingua, Alteryx interroga la libreria ICU per cercare il fuso orario utilizzando l'inglese. In alcune regioni, le abbreviazioni in inglese vengono utilizzate anche quando la lingua locale prevede un nome lungo per il fuso orario.
Alteryx tenta inoltre di cercare il nome in ogni lingua supportata, a partire dalla lingua dell'interfaccia di Designer (o dalla lingua specificata nella funzione).
Suggerimento
Devi essere a conoscenza dei nomi utilizzati per i fusi orari nei dati, ed eventualmente utilizzare lo strumento Trova e sostituisci, per assicurarti di ottenere nomi appropriati per i fusi orari.
I fusi orari che prevedono il cambio dell'ora legale e dell'ora standard presentano complicazioni quando si cerca di interpretare gli orari in prossimità del passaggio dall'ora legale e l'ora standard e viceversa.
C'è un'ora in prossimità del passaggio all'ora legale (estate) che non è valida. Negli Stati Uniti, quando l'ora standard locale sta per raggiungere il 10 marzo 2024, 2:00:00 AM, gli orologi vengono spostati in avanti di 1 ora al 10 marzo 2024, 3:00:00 ora legale locale.
Di conseguenza, 2024-03-10 02:30:00 Eastern time è un valore inesistente, ad esempio. Questo orario non è valido, in quanto inesistente. Tuttavia, le librerie Alteryx non rilevano il problema. Se convertissi DateTimeToUTC('2024-03-10 02:30:00', 'Eastern Time')
, il codice applicherà l'offset per l'ora standard (5 ore) e restituirà "2024-03-10 07:30:00"
, senza alcun avviso dell'input non valido.
C'è un orario in prossimità del cambio dell'ora standard che è ambiguo. Negli Stati Uniti, quando l'ora legale locale sta per raggiungere il 3 novembre 2024, 2:00:00, gli orologi vengono spostati indietro di 1 ora al 3 novembre 2024, 1:00:00 ora standard locale.
2024-11-03 01:30:00 Eastern Time può riferirsi sia a Eastern Standard Time che a Eastern Daylight Time. Poiché è un errore molto comune specificare EST per un orario che cade realmente nell'ora legale nel fuso orario Eastern Daylight Time, o EDT per un orario che cade realmente nell'ora standard, le librerie generalmente ignorano la specifica della stagione quando cercano informazioni sul fuso orario.
Di conseguenza, Alteryx non può convertire l'ora ambigua da Eastern Time a UTC utilizzando correttamente la stagione specificata. Il sistema applica l'offset per l'ora standard (5 ore) indipendentemente dal fatto che sia specificato EST o EDT come fuso orario da utilizzare, ovvero...
DateTimeToUTC('2024-11-03 01:30:00', 'Eastern Daylight Time')
restituisce 2024-11-03 06:30:00.DateTimeToUTC('2024-11-03 01:30:00', 'Eastern Standard Time')
restituisce 2024-11-03 06:30:00.DateTimeToUTC('2024-11-03 01:30:00', 'Eastern Time')
restituisce 2024-11-03 06:30:00.
Supporto data
Alteryx Designer non è in grado di elaborare date precedenti al 1° gennaio 1400.
Alteryx supporta date comprese tra il 1400 e il 9999. Supponiamo che tutte le date siano espresse nel Calendario gregoriano, il calendario civile che al momento è utilizzato in gran parte del mondo. Tutti i calcoli (somma e sottrazione) ignorano i secondi intercalari.