如何計算兩個日期之間的天數?如果我有兩個日期字段,均為 m/d/y 寬度 12 格式,如何獲得天數差異? 是否有捷徑可尋?
回复: 如何計算兩個日期之間的天數?日期差異效果很好。回复: 如何計算兩個日期之間的天數?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />儘管 JMP 有其優點,但 Excel 優於 JMP 的一個地方是數據轉換簡便。 (這是一個權衡:Excel 似乎充滿了類似 AI 的功能,它會嘗試猜測您想要什麼,而 JMP 的行為更可預測。)日期轉換就是一個很好的例子。 當我開始使用 JMP 時,我花了一段時間才意識到 JMP 識別的日期格式不僅僅是示例,而是它唯一理解的日期格式的枚舉列表。 Excel 允許您使用 h、m、s、d、y 字符以及分隔符構建自定義日期輸入格式,並將文本轉換為內部時間戳格式。
回复: 如何計算兩個日期之間的天數?斯摩爾2,
我不會說你的陳述是褻瀆,但根據我的經驗,JMP 在處理日期時間方面比 Excel 好幾個數量級。 由於我們工作的性質,我們廣泛處理計時數據。 與 Excel 不同,JMP 具有持續時間格式,這一事實對我們來說是天賜之物。 我已經記不清過去有多少次因為日期時間格式問題而不得不使用 Excel 重新計算,但是當我的分析團隊開始使用 JMP 進行分析並了解 JMP 如何處理日期時間時,這些問題就消失了。
十多年來,我一直在與 Excel 中的日期時間數據作鬥爭,並且經常不得不求助於 VBA 腳本來克服 Excel 的缺點。 即使這樣,仍然存在有人遇到格式問題的風險。 在 JMP 中,我從來不需要編寫日期時間計算腳本,因為大多數事情都可以通過使用簡單的公式和設置列的格式來處理,或者使用 JMP 為列公式提供的廣泛的日期時間函數集來解決。 下面的屏幕截圖顯示了原始發布者想要使用本線程中已經提到的三種不同方法的內容,並且不需要任何腳本。

第一個差異使用一個簡單的公式(日期 2 - 日期 1)/ 86400 來計算天數差異。 鑑於 JMP 將日期時間存儲為從 1904 年 1 月 1 日凌晨 12:00:00 開始的秒數,因此獲取天數就這麼簡單。 對於想要以十進制形式報告天數的任何部分的人來說,此方法非常有用。
第二個區別甚至更簡單,因為它不需要知道一天的秒數。 使用的公式僅為“日期 2 - 日期 1”,並且該列的格式為持續時間 (:day:hr:m)。 使用此方法以時間格式報告天數,顯示剩餘時間顯示為小時、分鐘和秒。
最後一個方法使用日期差異函數並僅返回天數。 誠然,如果您從日期 2 中減去日期 1,Excel 默認會執行此操作,但 JMP 所犧牲的不僅僅是輸出日期 2 - 日期 1 中的天數,這足以彌補 Excel 在日期時間計算方面的缺陷。
回复: 如何計算兩個日期之間的天數?我發現在 Excel 中計算日期之間的數學然後將結果傳輸到 JMP 表中要容易得多。我知道這聽起來像是褻瀆,但這比嘗試找出所需的腳本要容易得多、快捷得多。
回复: 如何計算兩個日期之間的天數?古塔姆,
我的步行嘗試給出了解決方案。 使用列公式並從第 1 列中減去第 2 列,然後設置第 3 列的格式以按天顯示。

回复: 如何計算兩個日期之間的天數?嗨古塔姆,
為此有一個指定的公式。它稱為日期差,您可以在公式編輯器的“日期時間”功能下找到它。
以下內容來自幫助文件:
日期差異
返回兩個日期時間值的差值。 間隔參數可以是秒、分、小時、日、週、月、季度、年。 對齊參數描述如下:
Start 用於計算間隔開始的次數。
實際用於計算整個間隔。
Fractional 用於計算小數間隔。
例如,以下公式返回207.890243055556 ,日期之間的天數:
日期差異(01Jan2010:00:00:00, 27Jul2010:21:21:57, "日", "小數");
以下公式返回207 ,日期之間的完整天數:
日期差異(01Jan2010:00:00:00, 27Jul2010:21:21:57, "日", "實際");
以下公式返回 9,即兩次之間完成的小時數:
日期差異(01Jan2010:00:00:00, 01Jan2010:09:22:57, "小時", "實際");
以下公式返回 1,即兩個時間之間新一小時開始的次數:
日期差異(31Dec2010:23:59:59, 01Jan2011:00:59:59, "小時", "開始");
或者,您可以運行以下腳本並註意最後一個命令以及第 3 列的公式。
New Table( "Untitled",
Add Rows( 1 ),
New Column( "Column 1",
Numeric,
Continuous,
Format( "m/d/y", 12 ),
Input Format( "m/d/y" ),
Set Values( [2900620800] )
),
New Column( "Column 2",
Numeric,
Continuous,
Format( "m/d/y", 12 ),
Input Format( "m/d/y" ),
Set Values( [2900966400] )
),
New Column( "Column 3",
Numeric,
Continuous,
Format( "Best", Use thousands separator( 0 ), 17 ),
Formula( Date Difference( :Column 1, :Column 2, "day", "actual" ) )
)
);
祝你好運!
回复: 如何計算兩個日期之間的天數?存儲日期值內部為從參考日期(1904 年 1 月 1 日)起經過的秒數。 因此,兩個日期之間的差異天可以通過下式計算:
(:Date2 - :Date1) / (60 * 60 * 24)
還有一個功能日期差異()在 JMP 12 中(可能在早期版本中也存在,直到現在我才注意到)。 據我所知,它做同樣的事情,但它有一些不錯的選項(在腳本索引、幫助菜單中查找它們)。
Date Difference(:Date1, :Date2, "Day")
回复: 如何計算兩個日期之間的天數?古塔姆,
謝謝你的提問!
要獲取 JMP 中兩個日期之間的天數差異(採用 D/M/Y 格式),您可以輕鬆執行以下操作:
最簡單的方法:Delta(天)
步驟 1:在數據表中創建一個新列
步驟 2:用第二個日期減去第一個日期,然後將此除以 86,400
JMP 返回以秒為單位的日期差,因此 86,400 是一天中的總秒數,可將其轉換為天數。
請參閱下面的公式。

AlternativeWay:Delta (D:H:M) 持續時間
步驟 1:在數據表的新列中創建公式
第 2 步:只需從第二個日期中減去第一個日期
步驟 3:在列屬性中的格式下,從下拉列表中選擇持續時間日:小時:分鐘
這將返回天數的差異,加上任何剩餘的小時和分鐘。
公式和格式見下:

希望這可以幫助!
斯科特