Ottieni data e ora da un testo in una cellaCIAO,
Ho un set di dati che riporta il giorno e l'ora all'interno di una cella in questo formato: "12.08.2022 15:46:43 GMT-0700" (il formato della data è gg.mm.aaaa).Vorrei creare una colonna per le date e una colonna per l'ora (presumo che l'ora sia l'ora locale e il GMT-0700 indichi solo dove si trova l'ora locale. Quindi per ogni cella, vorrei due colonne:
Colonna 1: nel formato della data: gg.mm.aaaa
Colonna 2: nel formato dell'ora 15:46:43
I diversi approcci che ho provato non sembrano funzionare del tutto e mi chiedo se sia dovuto al periodo tra i valori mese/giorno/anno?
Grazie,
Roberto
Utilizzo di JMP 16.
Personalizzazione di massaRe: Ottieni data e ora da un testo in una cellaSe arrivi al punto in cui la tua ipotesi locale non è vera.Potrebbe valere la pena mettere gli orari in UTC.
Names default to here(1);
dt = New Table( "Untitled", Add Rows( 1 ),
New Column( "stamp", Character, "Nominal", Set Values( {
"12.08.2022 15:46:43 GMT-0700",
"14.08.2022 15:46:43 GMT-0730" // just to show half hour time zones
} ) )
);
dt << New Column("DT UTC", Format( "yyyy-mm-ddThh:mm:ss" ), formula(
timezone_offset = Num( Substr( :stamp, 24, 3 ) ) + Num( Substr( :stamp, 27, 2 ) ) / 60; // get the timezone offset
Informat( Substr( :stamp, 1, 19 ), "d/m/y H:m:s" ) - timezone_offset * 3600; // turn from local to UTC
));Re: Ottieni data e ora da un testo in una cellaGrazie Craig. Questo ha funzionato esattamente. Hai ragione, voglio l'ora e la data in una cella ora che ci penso.
Re: Ottieni data e ora da un testo in una cella
dt = New Table( "Untitled", Add Rows( 1 ), New Column( "stamp", Character, "Nominal", Set Values( {"12.08.2022 15:46:43 GMT-0700"} ) ) );
dt << New Column( "time", Format( "H:m:s" ), formula( Informat( Substr( stamp, 12, 8 ), "h:m:s" ) ) );
dt << New Column( "date", Format( "d/m/y" ), formula( Informat( Substr( stamp, 1, 10 ), "d/m/y" ) ) );
dt << New Column( "datetime1", Format( "d/m/y H:m:s" ), formula( Informat( Substr( stamp, 1, 19 ), "d/m/y H:m:s" ) ) );
dt << New Column( "datetime2", Format( "yyyy-mm-ddThh:mm:ss" ), formula( Informat( Substr( stamp, 1, 19 ), "d/m/y H:m:s" ) ) );
Column formulas extract dates, times, and datetimes.Column formulas extract dates, times, and datetimes.Le formule di colonna estraggono date, ore e data/ora.
Di solito vorrai una colonna datetime, non colonne separate di data e ora.
Modifica: non sono sicuro di dove siano documentati i formati; Creo una piccola tabella di dati, utilizzo le proprietà della colonna per scegliere/testare il formato, quindi salvo lo script della tabella in una finestra di script per acquisire il nome del formato.