日付(日時)フォーマット表示

社内で使用している、kintoneで日付フォーマットを-表示ではなく/表示したいという要望がありました。

moment.jsを使用して日付(日時)フォーマットを変更する方法が記載されていますが、設定方法がよく分かりません。

URLのリンクと、ファイルを読み込ませて対象のフィールドを設定しているのですが特に変化が見られません。

やりたいこととしては、「受付日時」というフィールドコードの日時フィールドの表示を、yyyy/mm/ddの形に変更して表示させたいと思っています。

どなたかご教示いただけると助かります。

よろしくお願いします。

https://developer.cybozu.io/hc/ja/community/posts/360000656446-%E6%97%A5%E4%BB%98%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E8%A1%A8%E7%A4%BA%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

こちらを参考にちょっと調べてやってみましたがどうでしょうか。

もし、レコード編集中もその形式で表示したいということでしたら厳しいかと思います。

jQuery.noConflict();
(function($) {
"use strict";

kintone.events.on("app.record.detail.show", event => {
var record = event.record;
if(record.受付日時.value) {
var date = moment(record.受付日時.value).format("YYYY/MM/DD");
var element1 = kintone.app.record.getFieldElement("受付日時");
$(element1).find("span").text(date);
}
return event;
});

kintone.events.on("app.record.index.show", event => {
var element1 = kintone.app.getFieldElements("受付日時");
if(element1) {
for(var i = 0; i < element1.length; i++) {
var time = $(element1[i]).find("span").text();
if(time) {
var date = moment(time).format("YYYY/MM/DD");
$(element1[i]).find("span").text(date);
}
}
}
return event;
});
})(jQuery);

早速のご回答ありがとうございます。

読み込ませてみましたが変化ありませんでした。

 

確認ですが、記載の内容を拡張子jsで保存し、そちらを設定したいkintoneアプリの「Javascript/CSSでカスタマイズ」という手順で問題ないでしょうか。

 

またレコード編集中は特に形式の変更は必要なく、レコードの詳細表示画面と一覧画面くらいでスラッシュ表示させたいと思っています。

手順はあっていると思います。

プラグインの設定でmoment.jsとJQueryは読み込みの確認をお願いします。

上記大丈夫でしたらあとはアプリの更新忘れぐらいでしょうか・・・。

 

丁寧なご指南ありがとうございます。

jQueryのライブラリを読み込んで解決しました!

ありがとうございました。

重ね重ね恐縮ですが、同一アプリ内の2つのフィールドで日時のフォーマットを変更したい場合の

記述方法をご教示いただけますと幸いです。

対象フィールドを変えてファイルを2つで対応であればそれでも構わないのですが

1つにまとめられるならと思っています。

例)受付日時と対応日時

こんな感じでどうでしょうか?

jQuery.noConflict();
(function($) {
"use strict";

kintone.events.on("app.record.detail.show", event => {
var record = event.record;
if(record.受付日時.value) {
var date = moment(record.受付日時.value).format("YYYY/MM/DD");
var element1 = kintone.app.record.getFieldElement("受付日時");
$(element1).find("span").text(date);
}
/ ******************追加したところ*************************** /
if(record.対応日時.value) {
var date2 = moment(record.対応日時.value).format("YYYY/MM/DD");
var element2 = kintone.app.record.getFieldElement("対応日時");
$(element2).find("span").text(date2);
}
/ *********************************************************** /
return event;
});

kintone.events.on("app.record.index.show", event => {
var element1 = kintone.app.getFieldElements("受付日時");
    / ******************追加したところ*************************** /
var element2 = kintone.app.getFieldElements("対応日時");
    / *********************************************************** /
if(element1) {
for(var i = 0; i < element1.length; i++) {
var time = $(element1[i]).find("span").text();
if(time) {
var date = moment(time).format("YYYY/MM/DD");
$(element1[i]).find("span").text(date);
}
}
}
/ ******************追加したところ*************************** /
if(element2) {
for(var i = 0; i < element2.length; i++) {
var time2 = $(element2[i]).find("span").text();
if(time2) {
var date2 = moment(time2).format("YYYY/MM/DD");
$(element2[i]).find("span").text(date2);
}
}
}
/ *********************************************************** /
return event;
});
})(jQuery);

何度も申し訳ございません。

また、ありがとうございます。

 

テーブル化した中に該当の日付(日時)フィールドがある場合は、

反映しないようですが、こちらはkintone自体の仕様の問題でしょうか?

サブテーブルの中のフィールドはまた記述が変わってきますね。

実現は可能だと思うのですが、私ではちょっと力不足です。。。

お役に立てずすいません。

いえいえ!

ここまでご丁寧に記載くださっただけで助かりました。

ありがとうございました。