新規投稿
フォローする

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

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

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を利用する、等も調べているのですがライブラリの登録方法が分からず・・

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

 

よろしくお願いします。

 

 

 

0

2件のコメント

Avatar
TO

MH様

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

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

const dt = luxon.DateTime.now();

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

参考になれば幸いです.

0
Avatar
MH

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:mmZ')

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

 

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

MHにより編集されました
0
サインインしてコメントを残してください。