JMP 时间格式我无法使用时间格式。根据脚本指南,格式“m/d/yh:m:s”用于 12 小时和 24 小时时间... 搞什么?为什么我想要一个函数来随意给出一个或另一个答案?我该如何让它发挥作用!
time = today(); //3619617166
formattedTime = format(time, "m/d/y h:m:s");
print(formattedTime); //"09/12/2018 5:12:46 PM"
//What I want: "09/12/2018 17:12:46"
脚本指南中有一些神秘的注释,让我觉得它根据您的计算机设置选择 12 小时或 24 小时,这是一个糟糕的主意,因为我不希望我的代码在一半的用户计算机上崩溃。
如果格式化不起作用,是否有简单的解决方法?
回复:JMP 时间格式我和你在一起,克里斯。JMP 功能很愚蠢。我不必编写脚本只是为了将时间格式从 AM/PM 更改为 24 小时。其他线程为此提供了公式,但没有一个起作用。这不应该是下拉列表中的标准 JMP 格式的原因为零。 你的帖子已经过去 3 年了,但 JMP 仍然没有任何消息。
回复:JMP 时间格式谢谢。 我已经对愿望清单项目进行了投票,我不太喜欢任何默认日期格式,因此如果它可作为内置函数使用,我肯定会使用此函数。现在我知道需要什么,我已经过了学习曲线,我可以按照我想要的方式格式化我的日期。无限的灵活性很有用。但如果我试图向非程序员 Excel 用户解释这一切,我会得到茫然的目光。至少从 1997 年开始,Excel 就能够接受“ddd hh:mm”的日期格式,这似乎过于复杂。
回复:JMP 时间格式你好@克里斯_罗德里格斯,
您可以看一下下面的函数,如果您喜欢它,请为这个想法投票JMP 愿望清单在此。我一直使用这样的东西,并希望看到它作为内置函数提供。
Names default to here(1);
time = 3619617166;
pad = function( {x}, if(x < 10, "0" || char( x ), char( x )));
formatdatetime = function({time, pattern, prepend=""},
char(substitute(pattern,
prepend || "H", pad(hour(time, 24)),
prepend || "h", pad(hour(time, 12)),
prepend || "M", pad(minute(time)),
prepend || "S", pad(second(time)),
prepend || "m", pad(month(time)),
prepend || "d", pad(day(time)),
prepend || "y", char(year(time)),
prepend || "AP", char(if(hour(time)==24, "AM", if(hour(time, 24)>11,"PM","AM"))),
// the rest of the formatting options..Month name,
// short month name, hours without padding, etc
))
);
formatdatetime(time, "m/d/y h:M:S AP");
// 09/12/2018 05:12:46 PM
formatdatetime(time, "ymd_HMS");
// 20180912_171246
formatdatetime(time, "hour = %h, minute = %M", "%")
// hour = 05, minute = 12回复:JMP 时间格式在我的图表上,我想尽可能高效地使用 X 轴标签空间,因此我不需要年份、秒数等内容。“Mon 18:00”就足够了。起初我认为 Format() 函数可以轻松做到这一点,但这就是我最终使用的:
Names Default To Here( 1 );
pad = Function( {x}, If( x < 10, "0" || Char( x ), Char( x ) ) );
Char( Match( Day Of Week( :value ), 1, "Sun", 2, "Mon", 3, "Tue", 4, "Wed", 5, "Thu", 6, "Fri", 7, "Sat" ) ) || " " || pad( Hour( :value, 24 ) ) ||
":" || pad( Minute( :value ) );这是结果:

回复:JMP 时间格式还请您看一下帮助 > JMP 文档库 > 脚本编写指南并搜索 '自定义功能.' JMP 15.1 版本的信息从第 393 页开始。 在这里您还可以找到自定义转换和自定义格式。 这些定义也可以在 JMP UI 中以交互方式使用。
回复:JMP 时间格式只是陷入了尝试找出如何使日期格式按照我想要的方式在图表上显示的兔子洞。我没想到会这么难。因此,我必须逐个字符地构建它,并推出我自己的函数,以用前导零填充小时/分钟/秒。惊人的。谢谢@ih给小费。
回复:JMP 时间格式我最终将其添加到 JMP 愿望清单中:
https://community.jmp.com/t5/JMP-Wish-List/JMP-Time-Formatting-12-v-24-hr-control/idi-p/74643#M336
回复:JMP 时间格式谢谢@ih ;这是一个不错的解决办法。需要注意的是,您需要输入 hour(time, 24) 来强制其为 24 小时时间。它似乎默认为 24 小时,但文档让我感觉它想默认为 12 小时。
//My update: (just slightly shorter)<BR /><BR />format(time, "m/d/y") || " " || pad(hour(time, 24)) || ":" || pad(minute(time)) || ":" || pad(second(time));
我还希望有一个可定制的格式字符串解决方案。如果下周没有更好的答案,我会将请求添加到 JMP 愿望清单中。希望JMP的人能回复一下。
回复:JMP 时间格式我经常最终使用这种东西:
names default to here(1);
time = 3619617166;
pad = function( {x}, if(x < 10, "0" || char( x ), char( x )));
pad(month(time)) || "/" || pad(day(time))|| "/" || char(year(time)) || " " ||
pad(hour(time)) || ":" || pad(minute(time)) || ":" || pad(second(time));
// "09/12/2018 17:12:46"+1 具有可自定义格式字符串的解决方案。