やあ、
1 つのセル内の日付と時刻を「12.08.2022 15:46:43 GMT-0700」という形式で報告するデータ セットがあります (日付形式は dd.mm.yyyy)。日付の列と時刻の列を作成したいと思います (時刻は現地時間であり、GMT-0700 はそれが現地時間であることを示しているだけであると仮定します)。 したがって、セルごとに 2 つの列が必要です。
列 1: 日付形式: dd.mm.yyyy
列 2: 時間形式 15:46:43
私が試したさまざまなアプローチはあまり機能しないようですが、月/日/年の値の間の期間が原因なのか疑問に思っています。
ありがとう、
ロバート
JMP16を使用します。
ローカルの仮定が正しくない点に到達した場合。時刻を 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
));ありがとうクレイジ。 これはまさにうまくいきました。 おっしゃるとおり、今考えてみると、時刻と日付を 1 つのセルに入れておきたいのです。
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.列の数式は、日付、時刻、日時を抽出します。
通常は、個別の日付列と時刻列ではなく、日時列が必要になります。
編集: 形式がどこに文書化されているかわかりません。小さなデータ テーブルを作成し、列のプロパティを使用して形式を選択/テストし、テーブル スクリプトをスクリプト ウィンドウに保存して形式名を取得します。