從數字字符串覆蓋你好
我想將數值隱藏到日期中。 我在這裡嘗試了許多示例腳本,但沒有用。
我在應該轉換的列中有 14 位數字,例如 20200420221043。 我想要 yyyy-mm-ddThh:mm:ss 類型。 因此,似乎是 2020-04-20T22:10:43。
有任何想法嗎?
回复:從數字字符串中覆蓋我試過這個腳本,效果很好。
特別是,'wait()' 讓我很開心。
回复:從數字字符串中覆蓋很好的參考。回复:從數字字符串中覆蓋我需要為此添加書籤。 謝謝。回复:從數字字符串中覆蓋很好的參考。
回复:從數字字符串中覆蓋你好@KrissKdash ,
另外,一定要看視頻醫生解決您的日期和時間導入問題。
在最近播出的這個片段中@brady_brady逐步演示如何解決這些類型的日期問題。
乾杯,
斯坦
回复:從數字字符串中覆蓋你好,
有一個專門針對此類問題的插件。 在此處找到插件和如何使用它的說明:數據表工具,第 1 部分:自定義日期公式編寫器
打開插件文件進行安裝後,它將位於 JMP 主菜單的“插件”部分。 選擇:加載項 > 數據表工具 > 特殊公式列 > 自定義日期公式編寫器。
在公式編寫器的主窗口中,選擇您的數據表和源數據列——確保將您的數據設置為字符和標稱類型。
然後,如下所示填寫對話框的其餘部分,確保在所有感興趣的字段的開頭和結尾放置刻度線。 (單擊可打開和關閉刻度線。)
單擊“構建公式列”,您就完成了。 (下面是自動編寫的公式的示例。)請注意,在不同的地方有零和空括號,表示當前公式中未使用的選項。 這是預期的。
乾杯,
布雷迪

Try(
{};
YearChoice = 1;
{};
{};
Date MDY(
Num( Substr( :DateStr, 5, 2 ) ),
Num( Substr( :DateStr, 7, 2 ) ),
Num( Substr( :DateStr, 1, 4 ) ) + 0
) + Num( Substr( :DateStr, 13, 2 ) ) + Num( Substr( :DateStr, 11, 2 ) ) * 60 + (
Num( Substr( :DateStr, 9, 2 ) ) + 0) * 3600 + If( Num( Substr( :DateStr, 9, 2 ) ) < 12,
0,
0
);
)
回复:從數字字符串中覆蓋@KrissKdash ,
以防萬一您想要一個格式為數字日期的列,這裡有一個腳本可以做到這一點。 它創建一個 1 列表。 延伸@txnelson的解決方案,字符串列稱為 myS。 該腳本創建一個日期列 myD。 這等待(2)添加戲劇效果。
只是第二種方法。
Names Default to Here(1);
dt = New Table( "Test",
Add Rows( 3 ),
New Column( "myS",
Character,
"Nominal",
Set Values( {"20200420221053", "20200419112025", "20191225055920"} )
)
);
dt << New Column("myD", Numeric, Continuous);
Column(dt,"myD") << set each value(Informat(substr(:myS,1,8), "YYYYMMDD") + num(Substr(:myS,9,2))*60*60
+ num(substr(:myS,11,2))*60 + num(substr(:myS,13,2)) );
wait(2);
:myD << Format("yyyy-mm-ddThh:mm:ss", 19, 0);
回复:從數字字符串中覆蓋這是你想要的?
myS = "20200420221043";
datex = Informat(
Substr( myS, 1, 4 ) || "/" || Substr( myS, 5, 2 ) || "/" || Substr( myS, 7, 2 ) || " " ||
Substr( myS, 9, 2 ) || ":" || Substr( myS, 11, 2 ) || ":" || Substr( myS, 13, 2 ),
"y/m/d h:m:s"
);
Show( Format( datex, "yyyy-mm-ddThh:mm:ss" ) );
Format(datex, "yyyy-mm-ddThh:mm:ss") = "2020-04-20T22:10:43";