コンテンツにスキップ

utilities.Today

概要

サーバスクリプトでローカル時間における当日の0時の日時をUTCで返します。

構文

utilities.Today()

パラメータ

パラメータはありません。

戻り値

ローカル時間における当日の0時の日時をUTCで返却します。日本時間2023年6月21日に実行した場合、「2023/06/20 15:00:00」が返却されます。

使用例

以下の例では、日付Aに当日の日時を入力します。サーバスクリプト内ではUTCの日時として扱われますが、サーバスクリプト終了後、日付Aにはローカル時刻に変換された日時が格納されます。

JavaScript
model.DateA = utilities.Today();

サンプルコード

1. プロセスのボタンのラベルを今日の日付で設定する。

プロセスで設定したボタンのラベルを、"{今日の日付}のデータ取得"とします。

JavaScript
const dateFormat = (input) => {
    if (!input) return '';
    // 返却値は文字列であるため、new Date()する
    const date = new Date(input);
    const y = date.getFullYear();
    const m = String(date.getMonth() + 1);
    const d = String(date.getDate());
    const dateTime = `${y}年${m}月${d}日`;
    return dateTime;
};
elements.LabelText('Process_1', `${dateFormat(utilities.Today())}のデータ取得`);
2. 期限が近い・過ぎた未完了のレコードに、一覧で印を付ける

一覧を表示するとき、行ごとに期限(日付A)とutilities.Todayの今日の日付を比べ、未完了で期限まで3日以内の行と、期限を過ぎた行に色を付けます。

実務での使いどころ

タスク・問い合わせ・保守契約の一覧で、期限が迫っているものを開いた瞬間に見分けたいときに使えます。一覧のフィルタで期限の近いものに絞り込むことはできますが、ほかのレコードと並べたまま目立たせることはできません。

事前準備

1:「タスク管理」テーブル(記録テーブル)で、日付A(DateA)を期限として有効化してください。

2:「テーブルの管理 > スタイル」タブで、以下のスタイルを登録してください(出力先:一覧)。

.grid-row.due-soon td {
    background-color: #fff3cd;
}
.grid-row.overdue td {
    background-color: #f8d7da;
}

3:スクリプトを登録します。

3-1:「テーブルの管理 > サーバスクリプト」タブで「新規作成」を選択する。
 3-2:タイトル: 任意の名前(例:markDueSoonRows)
 3-3:スクリプト: 下記サンプルコードを貼り付け
 3-4:条件: 「行表示の前」にチェック

JavaScript

条件:行表示の前

// 一覧で、期限(日付A)が近い未完了のレコードの行に印を付ける。
// 行の見た目は、テーブルの管理の「スタイル」に登録した CSS のクラス(due-soon・overdue)で決める
const DUE_COLUMN = 'DateA';
// 期限まで何日以内を「近い」とするか
const SOON_DAYS = 3;
// 「完了」の状況の値
const COMPLETED_STATUS = 900;

const due = model[DUE_COLUMN];
// 期限が空の日付項目には、空を表す 1899 年の日付が入っている
const hasDue = due && due.getFullYear() > 1900;
if (hasDue && Number(model.Status) < COMPLETED_STATUS) {
    // utilities.Today は、今日の 0 時を返す(UTC で表した値なので、Date にしてから比べる)
    const today = new Date(utilities.Today());
    const days = Math.round((due.getTime() - today.getTime()) / (24 * 60 * 60 * 1000));
    if (days < 0) {
        model.ExtendedRowCss = 'overdue';
    } else if (days <= SOON_DAYS) {
        model.ExtendedRowCss = 'due-soon';
    }
}

注記

  • 期限が今日のレコードは「期限まで0日」として扱い、期限が近い側(due-soon)の色を付けます。
  • 期限が空の日付項目は、nullではなく、空を表す1899年の日付になっています。そのため年で見分けています。

注意事項

こちらはサーバスクリプトで使用するメソッドです。スクリプトでは使用できません。

対応バージョン

対応バージョン 内容
1.1.39.0 以降 機能追加

関連情報