將亞洲日期格式化為短日期亞洲的許多公司輸入的日期與美國的不同。 例如,2021 年 12 月 3 日,亞洲公司將其鍵入為 03/12/2021,但在美國,我們將其鍵入為 12/03/2021。 我有一張表格,我解析出日期並將其轉換為短日期。 但是圓圈是錯誤的,見下圖。 我使用了下面的代碼。 如何讓 JMP 知道從 Text 列中提取的日期格式為 days_months_year 而不是months_days_year?
dtlog << New Column( "vStart",Numeric,Continous, Formula(Short Date(Num(LEFT(:Text,8))) )

附上數據表。
數據表腳本回复:將亞洲日期格式化為短日期在您的原始 JSL 中,該列自動從數字/連續(您要求的)到字符/名詞(因為 shortDate() 返回字符數據。)名義上的在我複制了專欄的腳本後,在我的示例中被選中。
這是一條有用的消息,讓您知道字符列中的數據沒有被格式化。 它無法告訴您該列是如何成為字符的。
在您的原始示例中,這是在日誌窗口中(因為 shortdate() 返回字符):
dtlog << 新列(“vStart”,數字,連續,公式(短日期(Num(LEFT(:Text,8)))))
列“vStart”更改為鍵入字符以匹配公式。
您附加的圖片中還有一個提示:vStart 數據是左對齊的。 JMP 對數值數據使用右對齊,對字符數據使用左對齊。
回复:將亞洲日期格式化為短日期我收到一個錯誤:

回复:將亞洲日期格式化為短日期謝謝,您的解決方案對我有用!
回复:將亞洲日期格式化為短日期對於列公式使用
Informat( Left( :Text, 8 ), "d/m/y" )
一旦 num(left(text,8)) 完成,再修復它已經太晚了; num() 已經猜到字符串是一個日期並且有時猜到了錯誤的格式。 每一行都是獨立完成的,num() 無法判斷它是在中途換馬。
告訴信息正確的格式會讓你成功。 後半部分是告訴列使用顯示格式。 一種合理的檢查格式是拼出月份名稱的格式。 這是一個完整的新列語句:
New Column( "vStart",
Numeric, "Nominal",
Format( "Date Long", 35 ),
Input Format( "Locale Date" ),
Formula( Informat( Left( :Text, 8 ), "d/m/y" ) )
)
looks correct, Nov and Dec line up.looks correct, Nov and Dec line up.看起來正確,11 月和 12 月排隊。
編輯:該輸入格式(使用語言環境日期)是愚蠢的,除非您稍後從列中刪除公式。 如果您鍵入一個值,則使用輸入格式,但您不能在公式列中鍵入值。 如果您重新輸入“2021 年 12 月 3 日,星期五”,您可能需要區域設置的首選格式。 這格式(使用 Date Long)控制數字的顯示格式。 在幕後存儲的實際值是自 1 月 1904 年以來的秒數。 這就是信息函數返回。
你可能想要連續的,而不是名義上的。 也許。
回复:將亞洲日期格式化為短日期dtlog << New Column( "vStart", Numeric, Continuous, Formula(Short Date(Num(LEFT(:Text,8)))));
dtlog:vStart << Format( "d/m/y", 12 );
回复:將亞洲日期格式化為短日期嗨,mzwald,
如何將它與我的代碼合併?
dtlog << New Column( "vStart",Numeric,Continous, Formula(Short Date(Num(LEFT(:Text,8))) )
回复:將亞洲日期格式化為短日期執行以下步驟:
1.右鍵單擊具有數字日期的 vStart 列
2. 選擇“列信息...”
3. 通過單擊“最佳 > 日期 > d/m/y”從最佳更改格式
4.點擊確定
dtlog:vStart << Format( "d/m/y", 12 );