将军事时间转换为 h:m:s 格式您好 - 我正在尝试将 jsl 中字符格式的军事时间列(例如 130749)转换为 h:m:s 格式。有人可以帮忙吗?谢谢。
自动化和脚本回复:将军事时间转换为 h:m:s 格式Informat + Format 模式是一个选项
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>回复:将军事时间转换为 h:m:s 格式所以我实际上想将军事时间转换为 h:m:s AM/PM 格式。例如, 130749 将是 1:07:49 PM。这可能吗?
回复:将军事时间转换为 h:m:s 格式您可以将该日期时间转换为您想要的任何格式。我假设您希望将其恢复为字符串,在这种情况下,例如,您可以使用格式 + 格式模式
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>
回复:将军事时间转换为 h:m:s 格式格式模式是否仅从 JMP16 开始可用?我有 JMP 15。
回复:将军事时间转换为 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);
回复:将军事时间转换为 h:m:s 格式谢谢你!