# 日時フィールドの絞込について

**URL:** https://community.cybozu.dev/t/topic/1652
**Category:** kintone 開発相談
**Created:** [2023 年 6 月 9 日午前 9:01 UTC](https://community.cybozu.dev/t/topic/1652 "2023-06-09T09:01:22Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Legacy\_Account464](https://avatars.discourse-cdn.com/v4/letter/l/e47774/32.png) [@Legacy\_Account464](https://community.cybozu.dev/u/Legacy_Account464)
#### Post date: [2023 年 6 月 9 日午前 9:01 UTC](https://community.cybozu.dev/t/topic/1652/1 "2023-06-09T09:01:22Z")

</div>

**背景・実現したいこと**

日時フィールドでの絞込を行いたいです。

日付の入力をしてボタン押下すると、その日付のレコードだけを絞込する機能を実現したいです。

現在、入力日付の0時から入力日付+1日の0時までのレコードを出そうとしています。

ですが、実行すると入力日付+1日の10時 のレコード等が一緒に出てきてしまいます。

ご教授いただければ幸いです。

※念の為、アプリIDとビューIDを「?」にしています。

&nbsp;

**利用したソースコード**

```
//レコード一覧表示のイベントハンドラー
(function () {
    'use strict';

    //検索したいフィールドの設定値
    const TAIOUNICHIJI = '対応日時';
    const SAKUSEISHA = '作成者';

//一覧画面のViewID
const VIEW_ID = ??????;

    //日時取得
    const date = new Date();
    const dateMoment = moment(date, "YYYY-MM-DD");
    const today = dateMoment.format('YYYY-MM-DD'); 

kintone.events.on("app.record.index.show", function (event) {
moment.locale('ja');

//日付検索キーワード
        const search_word = document.createElement('input');
        search_word.type = 'date';
        search_word.value = today;

//検索ボタン
        const search_button = document.createElement('input');
        search_button.type = 'submit';
        search_button.value = '日報通知する';

//キーワード検索の関数
        function keyword_search() {
            const viewpath = '?view=' + VIEW_ID;
            const searchDateStart = moment(search_word.value).format('YYYY-MM-DD');
            const searchDateEnd = moment(search_word.value).add(1, 'days').format('YYYY-MM-DD');
            const loginUser = kintone.getLoginUser();
            const loginUserCode = loginUser.code;
let str_query;

if (search_word.value === "") {
                str_query = "";
            } else if (search_word.value !== "") {
                str_query = '&query=' +
                    TAIOUNICHIJI + ' = "' + searchDateStart + '" and ' +
                    TAIOUNICHIJI + ' <= "' + searchDateEnd + '" and ' +
                    SAKUSEISHA + ' in (' + loginUserCode + ')';
            }
//検索結果のURLを返す
            const searchResult = location.origin + location.pathname + viewpath + str_query;
            return searchResult;
        }
// 通知登録関数
        function tsuchiToroku(url) {
            // 通知アプリのID
          const appId = ???;
            //URL登録
            const body = {
                app: appId,
                record: {
                    '日報URL': {
                        value: url
                    }
                }
            };
            // 通知アプリに record 登録
            kintone.api(kintone.api.url('/k/v1/record', true), 'POST', body);
        }

//通知ボタン押下時の動作
        search_button.onclick = function () {
            //URL生成、エンドーディング
            const tsuchiUrl = encodeURI(keyword_search());
            //通知登録関数を実行
            tsuchiToroku(tsuchiUrl);
            //自分の日報一覧へ飛ぶ
            document.location.href = tsuchiUrl;
        };

//重複を避けるため要素をあらかじめクリアしておく
        const node_space = kintone.app.getHeaderMenuSpaceElement();
        for (var i = node_space.childNodes.length - 1; i >= 0; i--) {
            node_space.removeChild(node_space.childNodes[i]);
        }

//ボタン配置
        const label = document.createElement('label');
        label.appendChild(document.createTextNode('通知日付'));
        label.appendChild(document.createTextNode(' '));
        label.appendChild(search_word);
        label.appendChild(document.createTextNode(' '));
        label.appendChild(search_button);
        kintone.app.getHeaderMenuSpaceElement().appendChild(label);
        return event;
    });
})();

```

---

<div class="post-metadata">

### Author: ![Legacy\_Account63](https://avatars.discourse-cdn.com/v4/letter/l/6de8d8/32.png) [@Legacy\_Account63](https://community.cybozu.dev/u/Legacy_Account63)
#### Post date: [2023 年 6 月 11 日午後 3:16 UTC](https://community.cybozu.dev/t/topic/1652/2 "2023-06-11T15:16:24Z")

</div>

kintoneで日時フィールドを検索するときは所定のフォーマットである必要があります。  
[https://cybozu.dev/ja/kintone/docs/rest-api/overview/kintone-rest-api-overview/#format-date-and-time](https://cybozu.dev/ja/kintone/docs/rest-api/overview/kintone-rest-api-overview/#format-date-and-time)  
kintoneは全世界で利用されるのを想定しているので、日本時間での検索ではなくUTCで検索する必要があります。  
幸い、momentをつかってるので、下記のようにtoISOString()でやるとうまくいくのではないでしょうか。

[https://qiita.com/rex0220/items/5638f0ba4d2307a3d976](https://qiita.com/rex0220/items/5638f0ba4d2307a3d976)

また、解決しない場合はほかにも問題ある場合があるので、str\_queryが想定通りか、念のため問題の切り分けのために一度console.logなどでだしてみてみたほうがいいかもしれません。

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)
#### Post date: [2023 年 9 月 28 日午前 1:12 UTC](https://community.cybozu.dev/t/topic/1652/3 "2023-09-28T01:12:32Z")

</div>

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
