我有一列数据,以 7 位或 8 位数字的形式输入,我需要将其转换为 HH、MM、SS 格式,但我尝试过的所有方法都失败了。我是不是漏掉了什么明显的技巧?
标记
其中一个数字是 61412。我相信这代表的是上午 6:14:12。
61412 有 5 位数字,而不是 7 位或 8 位。您很可能可以将数字转换为字符串,然后使用 informat 和格式模式将其转换为 JMP 日期数字。
New Table( "Time",
Add Rows( 2 ),
New Column( "Time as Coded Number",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [61412, 142954] )
),
New Column( "Time",
Numeric,
"Continuous",
Format( "h:m:s", 12, 0 ),
Input Format( "h:m:s", 0 ),
Formula(
t1 = If( :Time as Coded Number < 100000,
"0",
""
) || Char( :Time as Coded Number );
In Hours( Num( Left( t1, 2 ) ) )
+In Minutes( Num( Substr( t1, 3, 2 ) ) ) + Num( Right( t1, 2 ) );
)
)
)
您需要一个公式(或脚本)将原始的 5 位或 6 位数字(假设 24 小时制的 hh:mm:ss 编码)转换为秒数(JMP 的时间基准)并更改列格式。
我不擅长数字。我之前把日期信息搞混了,不过转换起来很容易。
这是格式模式选项,请注意,如果您的时间是 12 小时格式,则需要进行一些更改
InFormat(Right("0" || Char(:Column 1), 6), "Format Pattern", "
<HH>
<:?>
<MM>
<:?>
<SS>
")
</SS>
</MM>
</HH>
