渡された 2 番目の引数が null の場合、subtract(GlideDateTime start,GlideDateTime end) メソッドが間違った結果になるSummary<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 2 つの時刻の間の期間を計算するには、さまざまな方法があります。この記事では、subtract(GlideDateTime start,GlideDateTime end) メソッドのみに焦点を当てます。 以下は、subtract(GlideDateTime start,GlideDateTime end) メソッドの使用法です。 var pastDate = new GlideDateTime("2020-04-16 20:00:00");var currDate = new GlideDateTime("2020-04-17 20:30:55");gs.info("pastDate: " + pastDate); ------------ pastDate: 2020-04-16 20:00:00gs.info("currDate: " + currDate); ------------ currDate: 2020-04-17 20:30:55var dur = new GlideDuration();var dur = GlideDateTime.subtract(pastDate,currDate);gs.print(dur.getDisplayValue()); ------------- 1 Day 30 Minutes 上記のスクリプトから、期間の計算では、日と分の値の違いが考慮され、秒が無視されることは明らかです。 日付は GlideDateTime コンストラクターに渡されて pastDate と currDate が作成されるため、結果は正確です。 pastDate と currDate を作成するために GlideDateTime コンストラクターに値が渡されない場合は、値「0」の正しい結果が返されます。 currDate を作成するために GlideDateTime コンストラクターに値が渡されない場合、結果の currDate は UTC タイムゾーンになるため、値を返す subtract メソッドは異なるタイムゾーンのユーザーには正しくありません。したがって、正確な期間を取得するには、減算によって正しい結果が生成されるように、gs.nowDateTime() を引数として GlideDateTime コンストラクターに渡して currDate を作成する必要があります。 currDate 値がフィールドからフェッチされる場合は、上記の問題を回避するために、フィールドが空かどうかを確認する条件を追加する必要があります。フィールドに値がない場合は、if-else を使用して null 値を処理します。null を処理する方法のサンプルを次に示します。このコードは、subtract() メソッドを使用する前にコピーする必要があります。 if(currDate ==""){currDate = new GlideDateTime(gs.nowDateTime()); } Related Links<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 開発者サイトの参考資料をいくつか紹介します。 nowDateTime メソッドの詳細については、ここをクリックしてくださいsubtract メソッドのその他の使用法については、ここをクリックしてください