日期時間格式問題
問候,
我在從 csv 文件導入日期時間格式時遇到問題。原始數據內容的示例是
2008 年 9 月 17 日 02:55:16 上午
2014 年 9 月 17 日 00:44:41 上午
17/09/30 17:57:06 下午
2007 年 10 月 17 日 00:26:32 上午
格式為 yy/mm/dd hh:mm:ss AM。問題在於 JMP 未將數據轉換為正確的格式。直接導入會導致
17/09/2008 02:55:16 上午;這是錯誤的日期。
我嘗試使用以下格式設置該列的格式
列(dt1, 2) <<設置名稱("日期和時間")<<數據類型("數字")<<設置建模類型(連續<<信息("y/m/dh:m:s") < <格式(“日/月/年:分:秒”);
結果是一樣的 à 2008/09/17 02:55:16 AM
另一種方法,插入新列並使用公式
dt1 <<新列("日期", 數字, 連續, 格式日期("y/d/m"), 公式( Left("20"||Munger(Loc,6,"20",""), 10 )));
結果是一個字符串2017/09/08;但輸出需要是數字。從視覺上看,又近了一步。
由於事情比較接近,因此實現了接下來的三段代碼。
dt1 <<新列("日期1", 數字, 連續, 格式日期("y/d/m"), 公式( Informat(Left("20"||Munger(Loc,6,"20","" ) , 10))));
dt1 <<新列("日期2",數字,連續,格式日期("yyyy/dd/mm"),輸入格式("yyyy/dd/mm"),公式(解析日期(Left("20"| |)芒格(Loc,6,"20",""), 10))));
dt1 <<新列("Date3",數字,連續,格式日期("yyyy/dd/mm"),輸入格式("yyyy/dd/mm"),公式( As Date(Left("20"|| ))芒格(Loc,6,"20",""), 10))));
結果是
日期 1 列 --> 3587673600
日期2列 --> 3587673600
日期 3 列 --> .
日期 1 和日期 2 結果是數字,但格式錯誤。如何獲得正確的格式,即數字、連續和日期格式?謝謝你的幫助。
你好卡梅倫,
我掌握了具有相同格式的其他 csv 文件。我按照您的指示使用了不同的 csv 文件,這次它按照您的建議工作。謝謝
我猜您做錯了什麼,因為我能夠正確導入您作為示例提供的所有值。我將它們粘貼到 Excel 中,另存為 CSV,然後使用我概述的步驟導入並得到:


你好卡梅倫,
感謝你能這麼快回复。你的建議是我最初的想法,但它不起作用。JMP 處理該文件並自動將日期更改為不正確的日期。例如,17/09/08 02:23:52 導入為 17/09/2008 02:23:52 AM;這是錯誤的。由於輸出不正確,我不得不探索其他選項(JSL)-修改並更正輸出。謝謝您的意見。非常感謝。
你好@阿特米奧,
這實際上是一個非常簡單的修復,不需要編寫腳本(儘管您可以編寫腳本)。如果您沒有直接輸入日期格式,JMP 將進行猜測。兩位數年份經常會出現這種錯誤。當你打開文件時,你應該看到一些像這樣的選項(至少在 Windows 上):
打開時請務必選擇“帶預覽的數據”,以便您有機會指定日期列的信息。您將看到一個窗口,可讓您修改 csv 文件的導入設置。如果單擊“下一步”,您將在下一頁上設置信息設置。
如果您單擊需要設置的日期格式的列旁邊的紅色箭頭,您將獲得可用信息的列表。選擇時間 >“y/m/dh:m:s”。現在您可以導入了。
如果您想了解如何編寫此導入設置的腳本,請查看結果數據表上的源腳本。
希望有幫助!