日付と時刻の結合について

日付と時刻、別々のフォームで使用していたのですがこれらをまとめる方法はないでしょうか。

プラグインの関係でまとめなければいけなくなり行き詰まっている状態です…。

 

■現在

日時(2018-10-10) 時刻1(10:00) 時刻2(12:00)

 

■したい形

日時1(2018-10-10-10:00)

日時2(2018-10-10-12:00)

 

過去の何百のレコードを全て移行するのは難しく、何か解決策をご提案いただけると幸いです。

 

宜しくお願い致します。

こんにちは。

データ移行は大変ですね。cli-kintone等のコマンドラインツールやSDKを使ってみてはいかがでしょうか?

以前投稿した記事です。

サブテーブルのマイグレーション(Ruby + cli-kintone)

https://developer.cybozu.io/hc/ja/community/posts/115019061523

 

私は一旦レコードをCSVに書き出して、エクセルで編集して、再度更新するという方法をよく使っています。

 

Toshi さん

■現在

日時(2018-10-10) 時刻1(10:00) 時刻2(12:00)

上記の「現在」ですが、「日時」ではなく「日付」でしょうか?

 

「日付」フィールドと「時間」フィールドを「日時」フィールドに入れたい。

と認識しました。

 

標準機能やcli-kintoneでcsv出力して整形しなおす方法もありますが、

レコード一括取得APIを使って取得後、取得したレスポンスを成型しなおしてレコード一括更新APIを使用する方法もあります。

以下、1件しか対応していませんが、以下簡単なサンプルです。

const params = {
'app': kintone.app.getId(),
};
kintone.api(kintone.api.url('/k/v1/records', true), 'GET', params)
.then((resp) => {
const id = resp.records[0].$id.value;
delete resp.records[0].$id;
delete resp.records[0].レコード番号;
delete resp.records[0].作成者;
delete resp.records[0].作成日時;
delete resp.records[0].更新者;
delete resp.records[0].更新日時;
resp.records[0].日時.value = resp.records[0].日付.value + 'T' + resp.records[0].時刻.value + ':00+09:00';
const body = {
'app': kintone.app.getId(),
'records': [
{
'id': id,
'record': resp.records[0]
},
]
};
return kintone.api(kintone.api.url('/k/v1/records', true), 'PUT', body);
}).then((resp) => {
console.log(resp);
}).catch((err) => {
console.log(err);
});