軍用時間を h:m:s 形式に変換するこんにちは。文字形式の 24 時間表記 (例: 130749) の列を JSL の h:m:s 形式に変換しようとしています。どなたか助けていただけませんか? よろしくお願いします。
自動化とスクリプトRe: 軍用時間を h:m:s 形式に変換するInformat + フォーマットパターンはオプションの1つです
Names Default To Here(1);
Informat("130749", "Format Pattern", "<HH24><MM><SS>");
:0:13:07:49;
:0:13:07:49 + 0; // 47269
// Seconds since JMP's time start (midnight January 1, 1904)
// https://www.jmp.com/support/help/en/18.0/index.shtml#page/jmp/date-and-time-functions.shtml</SS></MM></HH24>Re: 軍用時間を h:m:s 形式に変換するそこで、実際に軍事時間を h:m:s AM/PM 形式に変換したいと考えています。たとえば、 130749 は 1:07:49 PM になります。これは可能ですか?
Re: 軍用時間を h:m:s 形式に変換するその日付時刻を好きなものに変換できます。文字列に戻したい場合は、たとえばFormat + Format Patternを使用できます。
Names Default To Here(1);
Format(Informat("130749", "Format Pattern", "<HH24><MM><SS>"), "Format Pattern", "<HH>:<MM>:<SS> <AMPM>"); // "1:07:49 PM"</AMPM></SS></MM></HH></SS></MM></HH24>
Re: 軍用時間を h:m:s 形式に変換するフォーマット パターンは JMP16 以降でのみ使用できますか? 私は JMP 15 を使用しています。
Re: 軍用時間を h:m:s 形式に変換するJMP16 か 17 のどちらで導入されたかは覚えていません。Informat/Format でまだできるかもしれませんが、フォーマット パターンが導入される前の JMP では時間の処理が不格好だったので、どのようにすればよいかわかりません (設定の異なるマシンで異なる時間形式を処理する方法が原因で、今でも不格好です)。そのため、パーツから構築すると、うまくいくかもしれません。
Names Default To Here(1);
template = "^hh12^:^mm^:^ss^ ^ampm^";
str = "130749";
hh24 = Num(Left(str, 2));
mm = Substr(str, 3, 2);
ss = Right(str, 2);
ampm = "";
If(hh24 == 0,
hh12 = 12;
ampm = "AM";
, 12 <= hh24 <= 23,
hh12 = Mod(hh24, 12);
ampm = "PM"
,
ampm = "AM";
hh12 = hh24;
);
timestr = Eval Insert(template);
Re: 軍用時間を h:m:s 形式に変換するありがとう!