Funzioni Data e ora del flusso di lavoro
Una funzione Data e ora esegue un'azione o un calcolo su un valore di data e ora. Puoi usare una funzione di 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 di data e ora o convertire un valore di questo tipo in un formato diverso.
Supporto data
Designer Cloud non è in grado di elaborare le date precedenti al 1° gennaio 1400.
Designer Cloud rappresenta date e ore nel formato ISO aaaa-mm-gg HH:MM:SS. Se il valore di data e ora non è in questo formato, Designer Cloud lo legge come stringa. Per convertire una colonna in modo da utilizzare e modificare dati nel formato di data e ora, puoi utilizzare la funzione DateTimeParse nell'Editor 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. Tieni presente che Designer Cloud non verifica la corrispondenza tra il nome del giorno specificato e la data specificata. |
%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. Tieni presente che Designer Cloud non verifica la corrispondenza tra il nome del giorno specificato e la data specificata. |
%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" maiuscolo) | 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, da "0" a "23", lo zero iniziale viene sostituito da uno spazio. | Fino a due cifre per l'ora. |
(minuscolo "braccio") | 12 ore, lo zero iniziale è uno 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"). | Ore:Minuti:Secondi [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 va dal 1950 al 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:
|
%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 va dal 1950 al 2049. |
%z | Scostamento 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
Sono i 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.
DateTimeAdd
DateTimeAdd(dt,i,u): aggiunge un intervallo specifico a un valore di 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 di ieri.
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 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).
Ulteriori informazioni
Qualsiasi frazione della durata viene troncata. Ad esempio, non è possibile aggiungere "1,5 ore". Invece, devi aggiungere "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 intera. 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 è 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).
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.
Quando memorizzi le differenze di tempo in secondi, devi prestare molta attenzione. 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 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 Cloud. Ad esempio, se è selezionata la lingua francese, la funzione legge DateTimeParse(dt,f,"Français") per impostazione predefinita.
Esempi
DateTimeFormat([DateTime_Out],"%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ì).
DateTimeHour
DateTimeHour(dt): restituisce la porzione dell'ora in 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 in cui non è specificata nessuna ora con una data.
DateTimeLastOfMonth
DateTimeLastOfMonth(): restituisce l'ultimo giorno del mese corrente, con l'orologio impostato a un secondo prima della fine del giorno (23:59:59).
Designer Cloud 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 la porzione di minuti dell'orario in 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.
DateTimeParse
DateTimeParse(dt, f): 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 con precisione di data e ora opzionale se applicabile). Quando il formato specificato ha una precisione inferiore, l'output viene troncato.
Parametri
dt: indica un valore di data e ora, espresso come campo selezionato o come stringa di data e ora racchiusa fra 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: indica il formato in cui deve essere convertita la stringa di data e ora fornita come input, espresso come stringa di formato racchiusa fra virgolette.
Esempio
DateTimeParse("2016/28-03","%Y/%d-%m")restituisce 2016-03-28.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.
DateTimeQuater
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).
Parametri
dt: dati data-ora.
Q1Start: parametro numerico opzionale per indicare il mese di inizio per Q1 (1-12).
Esempio
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
DateTimeSeconds(dt): estrae la porzione dei secondi da un valore di data e ora.
Parametri
dt: dati di data-ora espressi come colonna selezionata o come valore data-ora tra virgolette.
DateTimeTrim
DateTimeTrim(dt, f): rimuove le porzioni indesiderate di un valore di data e ora, quindi restituisce il valore modificato.
Parametri
dt: dati di data-ora espressi come colonna selezionata o come valore data-ora tra virgolette.f: indica il 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.
secondi: taglia il valore ai secondi e alle frazioni di secondo indicati dalle parole chiave illustrate nella sezione Parole chiave per le unità di data e 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.
Esempio
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 11:59:57.990.DateTimeTrim('2016-12-07 11:59:57.99',4)restituisce 11:59:57.9900.DateTimeTrim('2016-12-07 11:59:57.123456789','milliseconds')restituisce 11:59:57.123.
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 AAAA-MM-GG 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
DateTimeTrim(ToDateTime(x), t): converte una stringa, un numero o un valore di data in un valore di data e 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.
Esempio
ToDateTime('2020-10-31')restituisce 2020-10-31 00:00:00 come valore di data e ora.ToDateTime(7000.354167)restituisce 1919-03-01 08:30:00 come valore di data e ora.ToDateTime('2020-10-31 12:00:00')restituisce 2020-10-31 12:00:00 come valore di data e ora.