保存時に特定のフィールドに現在の日時をセットする方法

レコード保存時に特定の日時フィールドへ現在([保存]ボタン押下時)の日時をセットしたく、

https://developer.cybozu.io/hc/ja/community/posts/8706929917081-kintone-JavaScript-%E3%83%9C%E3%82%BF%E3%83%B3%E3%81%A7%E7%8F%BE%E5%9C%A8%E3%81%AE%E6%97%A5%E6%99%82%E3%82%92%E7%99%BB%E9%8C%B2%E3%81%97%E3%81%9F%E3%81%84

上記を参考に、

の記述を行っておりますが、該当のフィールドには9時間後の日時がセットされてしまいます。

(例) 2022-09-01 12:00 → 2022-09-01 21:00

 

Moment Timezoneを利用する、等も調べているのですがライブラリの登録方法が分からず・・

対処方法をご教示頂きたく存じます。

 

よろしくお願いします。

 

 

 

MH様

まず,Moment.jsは現在非推奨になっています.
cybozu CDN
代替ライブラリとしてluxonがあるので,luxonを利用した例を紹介します.
ライブラリの導入の仕方はmoment.jsと同じです.
(URLを登録)

luxonであれば,当日の日時は下記で取得できます.

const dt = luxon.DateTime.now();

この中にはいろいろな情報が入っているので,いろいろお試しいただくとluxonの理解にもつながるので良いかと思います.
下記のサイトが参考になるかと思います.
【JavaScript】Luxon で日付の操作・全実例38件!
他にもググるといろいろでてきます.

参考になれば幸いです.

TO様

luxonのご紹介を頂きありがとうございます。

記載頂いたluxonのコードにて現在の日時を取得し、レコード保存時に該当フィールドへ日本時間での現在時刻をセットすることが出来ました。

その他luxonについての資料もご連携頂きありがとうございます。確認させて頂きます。

 

また、moment.jsでその後自身で検証を重ねていた所、

・レコード追加画面 表示後 (app.record.create. show )では

record.フィールド名.value = moment().format(‘YYYY-MM-DDTHH:mm’)

で日本時刻での正しい日時をセットすることが出来、

・レコード追加画面 保存実行前 (app.record.create. submit )では

record.フィールド名.value = moment().format(‘YYYY-MM-DDTHH:mm Z’)

で9時間プラスされずに日本時刻での正しい日時をセットされるようでした。

 

以上、この度はご回答頂きありがとうございました。

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