將字符日期時間轉換為日期時間難以轉換為數字日期時間。
JMP 日誌錯誤:“日期-時間”列更改為字符類型以匹配公式。
日期::時間原始格式:
01:28:2018::02:14:08:099
我正在嘗試做的事情(經過各種帖子的多次嘗試):
dt<< new column ("Date-Time", numeric, formula(
rawdate = substitute(trim(substr(:TimeStamp,1,10)),":","/");
rawtime = (trim(substr(:TimeStamp,13,12)));
datetme = rawdate || " " || rawtime;
//informat(datetime);
//as date(datetme);
)
) ;
Informat() 和 as date() 給我“.”結果
回复:將字符日期時間轉換為日期時間感謝 TxNelson 的及時回复! 這很完美!
由於我正在嘗試繪製數據圖表,因此我找到了一種解決方法,將列保留為數字格式,其中包含自 1904 年以來的秒數,然後將圖表的軸更改為適當的日期格式。
但是,我更喜歡您的解決方案,因為它直接解決了我的意圖。
非常感謝您的支持!
回复:將字符日期時間轉換為日期時間您缺少的是使用格式來指示 JMP 獲取數字日期值並以日期格式顯示它的理解。對 JSL 的修改將向您展示使代碼正常工作的簡單更改。
dt << New Column( "Date2",
Numeric,
"Continuous",
Formula(
Date MDY(
Num( Substr( :New_Date, 1, 2 ) ),
Num( Substr( :New_Date, 4, 2 ) ),
Num( Substr( :New_Date, 7, 4 ) )
)
),
Format( "m/d/y", 10)
);
回复:將字符日期時間轉換為日期時間你好,
我查看了幾篇文章來解決同樣的問題,並且仍然遇到根據日誌文件中的評論轉換回字符“以匹配公式”的列。
我有一個表格,其中包含字符串格式的日期列“新日期”,條目格式為“MM/DD/YYYY”
我嘗試將您的解決方案應用於本專欄:
dt << New Column ("Date2", Numeric, "Continuous",
Formula ( Date MDY(Num( Substr( :New_Date, 1, 2 ) ),
Num( Substr( :New_Date, 4, 2 ) ),
Num( Substr( :New_Date, 7, 4 ) ))));
這將創建一個採用標準 JMP 日期格式(以秒為單位)的數字日期列(例如“3651955200”),表示 2019 年 9 月 22 日。
然後我創建了另一列將其轉換為標準日期格式:
dt << New Column ("Date3", Numeric, "Continuous", Formula ( Abbrev Date(Date2)));
但是當我運行它時,運行它只是將數據轉換回字符格式......
Column "Date3" changed to type Character to match formula.
您能幫助完成正確的轉換程序嗎?
我已經沒有選擇可以嘗試了...
感謝您的任何幫助,您可以提供。
-延斯
回复:將字符日期時間轉換為日期時間作為@tx尼爾森說,我們可以使用更多細節和示例,但您可能只需要指定要以列格式顯示的小數位數。

回复:將字符日期時間轉換為日期時間您能否提供字符串日期時間列的示例。 我假設您所要做的就是去掉秒和毫秒,將該字符串轉換為數字,然後將其添加到 JMP 日期/時間值的計算中。回复:將字符日期時間轉換為日期時間這裡有一個簡單的問題;
如果我們想在時間格式中保留秒(毫秒)的小數點後三位,我們如何在公式中保留它?
非常感謝新手。回复:將字符日期時間轉換為日期時間這工作完美無缺。 我在腳本中添加了列屬性:連續,格式(“月/日/年:月:秒”)。
我不是軟件工程師或相關人員,只是想破解這個問題。 我想我不明白 JMP 中的日期和時間如何工作。時間戳不需要採用“MM/DD/YYYY hh:mm:ss:msc”格式? 從我在其他帖子中發現的內容來看,我認為這是從字符轉換為日期/時間時的正確格式。我還看到您單獨獲取每個數字,然後更改類型,我假設 JMP 無法處理與數字混合的字符輸入?
再次非常感謝您的幫助。非常感激。
回复:將字符日期時間轉換為日期時間這是我想出的轉換公式
Date MDY(
Num( Substr( :TimeStamp, 1, 2 ) ),
Num( Substr( :TimeStamp, 4, 2 ) ),
Num( Substr( :TimeStamp, 7, 4 ) )
)
+ 3600 * Num( Substr( :TimeStamp, 13, 2 ) )
+ 60 * Num( Substr( :TimeStamp, 16, 2 ) )
+Num( Substr( :TimeStamp, 19, 2 ) )
我為新列指定 m/d/yh:m:s 格式