最終更新日の日付フォーマットを変更する

変更日 木, 3 7月 で 9:52 午前

主にGENIEE SEARCH for コーポレートを契約いただいているお客様向けの内容にはなりますが、

検索結果画面に表示される最終更新日の日付フォーマットを変更したい場合は、フィルタ関数を使用します。

参考ページ:https://docs.geniee-search.net/popfind/sitesearch/reference/filter/


今回の場合itemLastModifiedFilterを使用しますが、引数として field に linux時間 として値が入ってきますので

Date型に変更し、任意のフォーマットで返却することで日付フォーマットを変えることが可能です。


日付フォーマットを 年月日にする例

itemLastModifiedFilter: function (field, item, filter_options) {
  if (!field) return false;
  var date = new Date(field * 1000);
  var month = ("0" + (date.getMonth() + 1)).slice(-2);
  var day = ("0" + date.getDate()).slice(-2);
  return `${date.getFullYear()}-${month}-${day}`;
  // return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
},


[注意点]

lastModified は linux時間でやり取りされ、内部フィルタにより表示時に

YYYY/MM/DD hh:mm:ss フォーマットとして表示されます。

このため、単純に itemLastModifiedFilter で item を返却すると検索エンジン内部に

保持されている linux時間で表示されてしまいます。


export function itemLastModifiedSystemFilter(last_modified, _item, _options) {
  if (last_modified === undefined) return undefined;
  let date = new Date(last_modified * 1000);
  let Y = date.getFullYear();
  let M = date.getMonth() + 1;
  let D = date.getDate();
  let H = date.getHours();
  let MN = date.getMinutes();
  let S = date.getSeconds();
  let m = _options.mes.lastModifiedDate || '';
  return sprintf(m, Y, M, D, H, MN, S);
}



この記事は役に立ちましたか?

それは素晴らしい!

フィードバックありがとうございます

お役に立てず申し訳ございません!

フィードバックありがとうございます

この記事に改善できることがあれば教えてください。

少なくとも一つの理由を選択してください
CAPTCHA認証が必要です。

フィードバックを送信しました

記事の改善におけるご協力ありがとうございます。