時間分隔符號的問題匯入資料時,我們在時間格式方面遇到一些困難。
在我們的實驗室中,我們有一組裝有 Win7 或 Win10 的計算機,其時間格式設定各不相同。 當嘗試將帶有時間戳記的資料匯入 JMP12 和 14 時,這似乎會導致問題。 我們的時間戳格式為 yyyy-mm-dd hh:mm:ss (例如 2018-08-24 13:39:27),並且根據我們測試的計算機,導入要么成功要么失敗,因為時間格式必須使用冒號或點。我們如何建立一個可以在所有機器上運行的導入腳本?
我們也想知道為什麼 JMP 中沒有固定的時間格式,無論 Windows 中的設定如何,都保持不變? 畢竟 ISO 8601 標準將冒號定義為分隔符號。
回覆:時間分隔符號的問題事實證明,XanGregg 建議的設定正是我們正在尋找的設定。 如果有人稍後發現此對話,似乎也可以使用以下腳本更改此設定。
Set preferences( Use JMP Locale Settings( 1 ) );
我還按照馬克貝利的建議,用正規表示式對我們的輸入進行了一些調整,所以我也非常感謝這個技巧。
回覆:時間分隔符號的問題非常感謝 RegEx 的解決方法。 透過快速測試,它似乎可以幫助我們前進。 當我可以存取另一台電腦時,我也會使用「Windows 特定」設定進行一些測試。 希望這將成為我們的通用解決方案。
非常感謝您的幫忙!
回覆:時間分隔符號的問題當我將Win10時間分隔符號更改為“.”時並運行下面的腳本,它似乎工作正常,所以我遺漏了一些細節。

無論如何,這裡有一些可能對您的案例有用的事情。
- 「Windows Specific」下有一個 JMP 全域首選項,用於是否遵循系統區域設置
- 如果您將該列作為文字匯入並稍後對其進行解析,則 Parse Date() 函數具有一個可以關閉的「使用區域設定」參數。
s = "time,
2018-08-24 13:39:27
2018-08-25 14:11:22
2018-08-26 16:33:44";
path = "$TEMP/times.csv";
Save Text File( path, s );
Open(path);
回覆:時間分隔符號的問題對困惑感到抱歉。
不,這種方式不起作用,因為參數定義了一組格式並且可能不包含正規表示式。 請參閱我的上一篇文章以了解另一個想法。
回覆:時間分隔符號的問題假設您將時間戳記作為字串匯入到名為「日期時間」的資料列中,則無論使用哪種格式(您描述的兩種格式),使用此公式的新數字資料列都應該產生正確的日期:
Parse Date(
Regex( :Date Time,
"(\d{4}-\d{2}-\d{2} \d{2})[:\.](\d{2})[:\.](\d{2})",
"\1:\2:\3"
)
);回覆:時間分隔符號的問題我想知道我們是否在談論同一件事,或者有一種我不熟悉的使用正規表示式的方法。 我會嘗試更清楚地解釋我們的問題。
我們的數據具有一致的格式(hh:mm:ss)。 那裡的分隔符號是總是冒號。 例如,我電腦上的 JMP 可以很好地處理這種格式,我只需從輸入格式選單中選擇此格式即可輕鬆匯入此資料。 當我的同事嘗試做同樣的事情時,她計算機上的 JMP 無法將資料識別為時間。 在她的電腦上,時間格式必須為 hh.mm.ss(點為分隔符號)。 因此,為了編寫適用於這兩台電腦的匯入腳本,我們必須先確定 JMP 在該特定電腦上期望的時間格式是什麼。
腳本中可以使用正規表示式來決定輸入格式嗎? 目前,我們必須為不同的機器使用不同的腳本(一種帶有冒號,一種有點)。
Format( "y.m.d h:m:s", 22, 0 ), Informat( "y-m-d h:m:s", 0 )<BR />
Format( "y.m.d h.m.s", 22, 0 ), Informat( "y-m-d h.m.s", 0 )<BR />
我們可以用這個來代替嗎?
</CODE><CODE class=" language-jsl">Format( "y.m.d h<SPAN>[\.:]</SPAN>m<SPAN>[\.:]</SPAN>s", 22, 0 ), Informat( "y-m-d h<SPAN>[\.:]</SPAN>m<SPAN>[\.:]</SPAN>s", 0 )
回覆:時間分隔符號的問題這就是為什麼我建議使用正規表示式。 您可以使用「[\.:]」或「\.|:」作為分隔符號存在的表達式的一部分。 您無需預先決定要使用哪種格式。
回覆:時間分隔符號的問題感謝您的建議! 我們嘗試修改分隔符,這可以很容易地完成,但我們還沒有找到一種方法來檢測 JMP 期望的分隔符,根據相關機器,它們可以是點或冒號。
回覆:時間分隔符號的問題您可以使用正規表示式來符合任一格式選項的部分以及字元函數,以產生一致的 JMP 日期時間值。