回复:操纵时间戳这是一个将进行转换的小脚本。
Names Default To Here( 1 );
dt = Current Data Table();
// The comma in the time column's data does not fit into any
// standard JMP time formats, but if removed it does
For Each Row( :time = Substitute( :time, ",", " " ) );
// Convert to numeric and format it
:time<<DATA type=""></DATA>
回复:操纵时间戳感谢您的快速回复和对格式的帮助。 我运行了您的脚本,还创建了运行时间列,它基本上是以下公式。

这给了我以秒为单位的经过时间。 但是,当时间戳从下午 12:59 移动到下午 1 点时,我遇到了这个问题。 它没有获取 AM/PM 信息。 因此它认为现在是 01:00AM 是错误的。

回复:操纵时间戳请附上尚未转换的示例数据表,我会看一下。
回复:操纵时间戳谢谢 - 我附上一个例子。
回复:操纵时间戳我发现您提供的数据表没有错误。您的错误似乎发生在第 3127 行。您提供的表格只有 1356 行。我怀疑我需要一个包含错误行的数据样本。
此外,
您使用的是什么操作系统?
什么 JMP 版本?
回复:操纵时间戳我仍然发现我发送给您的示例文件存在问题。例如从第 1052 行开始。 我正在使用 JMP 16 和 Windows 10 操作系统。

回复:操纵时间戳我在 JMP 17 中使用提供的公式在 MS win 中执行了以下操作。
它也适用于 MS Win 上的 JMP16.2。
公式在列中。

回复:操纵时间戳我没有看到错误。请参见下面的显示。我还附上了我的数据表。时间 2 列与时间列的值相同,但显示格式设置为显示日期/时间后面的实际数字数据值。它是自 1904 年 1 月 1 日以来的秒数。时间 2 的公式为:时间,但格式更改为 Fixed Dec, 20, 3。

我在 JMP 16 和 17 下运行代码,结果相同。
回复:操纵时间戳你好,谢谢你把这个发给我。 当我打开它时,一切看起来都很好。 但是我进入了时间 2 并重新应用了您的公式,结果变成了我之前看到的结果。 见下文。 13:00hrs 数据更改为 01:00hrs。

我找到了问题的根源。 我的电脑设置为英国日期和时间。 当我更改为美国日期和时间设置后重新启动 JMP - 公式对我来说是正确的。
当我的 PC 时间设置为英国时,该公式将不起作用。

至少我现在知道问题出在哪里。 但除非我将 PC 设置保留在美国,否则仍然没有解决方案。
回复:操纵时间戳如果您将设置保留为英国,请查看这是否适合您。
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "time 2",
Format( "m/d/y h:m:s", 23,3 ),
set each value(
date = Informat( Word( 1, :time, "," ) );
hours = Num( Word( 2, :time, ",:" ) );
If( hours == 12, hours = 0 );
If( Word( -1, :time, " " ) == "PM",
hours = hours + 12
);
:time 2 = date + In Hours( hours ) + In Minutes( Num( Word( 3, :time, ",:" ) ) )
+Num( Word( 4, :time, ",: " ) );
)
);
此外,我建议您将您的问题提交给 JMP 支持,这样他们就可以对问题进行正式审查。
支持@jmp.com
回复:操纵时间戳非常感谢您的帮助。即使在英国日期/时间设置中,您的脚本也适用于我。
操作时间戳您好,我正在努力将时间戳转换为数字格式。 我基本上想使用时间戳来创建“经过时间”列。 我很难用 JMP16 实现这一点。 以下是该格式的示例。 从 12:59 到 01:00 的变化似乎也给我带来了问题。

我能够使用 Excel 并操作数据,以分钟为单位给出经过的时间(从第 1 行作为起点)。 但我更喜欢使用 JMP 并为其创建脚本。
谢谢
高级统计建模自动化和脚本编写大规模定制