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 具有可自訂格式字串的解決方案。