2019年8月31日土曜日

8/30 仕様書の再確認、

ゼミの初めに仕様書を現段階の進度でまとめたものを確認した。それぞれの担当で何が残っているのか何をしなければいけないのか、それぞれの担当の仕事がどう繋がっているのかの確認をした。

谷口・勇
IFTTTでWehookとの連携をした。しかし、今日改めて作成したトリガーは動かなかった。前回以前に作成したものは動いた。前回移行のを作りなおすと動かなくなった。時間を置いて30分後に動作の確認を行うと動いたが、動く時と動かない時があったので原因は何かよく分からなく、IFTTT側の問題かと、、、
Webhookとの連携をしているがIFTTTは動いているがカレンダーの書き換えが行われていないのでWebAPI側の問題なのかも分からず。

小山
今日はAIの編集を主に行った。Webから送信するとGoogleカレンダーにイベントが追加されるようになった。処方箋の情報から回数を把握し、朝・昼・夕・就寝それぞれ作成できるようにしなければならない。
谷口・勇に渡したURLが間違っているかもしれないので次回直す。

平松
現在の時刻とカレンダーに入力された時刻の差を求めることに成功した。取得したデータがグリニッジ標準時だったが、時間差自体は変わらないのでそのままにすることにした。

内田
先生の協力もありMonacaを使用したQRコードのアプリケーションで読み取ったデータを取り出して複数読み取っても全てのデータが一時的に保存されるようになった。また、先頭で改行もできるようになったがAJAXで送信するときに、 /n が消えずに残ってしまっているので次回までに解決し、使いやすいように全体のレイアウトを変えていきたいと思う。


UTC時刻とローカル時刻

Googleカレンダーは日時をUTC時刻で管理している。 そのため、UTC時刻とローカル時刻の変換が必要になる。
new Dateの引数にUTC時刻を指定するとローカル時刻が得られる。
また、引数なしではnew Dateはローカル時刻で現在時刻を取得する。
以上から、UTC時刻をローカル時刻に変換する特別な関数は必要ない。
以下にサンプルを示す。
var data = {
 "drug_notifies": 
 [
  {
   "title": "朝の薬の時間です",
   "description": "クラビット細粒10% 100mg 3錠",
   "id": "t4s1bi3v05bhvcjp41rr89qulg@google.com",
   "location": "5",
   "startTime": "2019-08-03T00:31:51.000Z",
   "endTime": "2019-08-03T01:01:51.000Z",
   "color": "11"
  },
  {
   "title": "夜の薬の時間です",
   "description": "クラビット細粒10% 100mg",
   "id": "v84ho65ceseoja7257s1moj1o8@google.com",
   "location": "0",
   "startTime": "2019-08-03T09:00:00.000Z",
   "endTime": "2019-08-03T09:30:00.000Z",
   "color": "11"
  }
 ],
 "num_reminder": "5",    // 催促回数
 "taiking_status": "0",  // 服用状況 (0:未服用, 1:服用済)
 "status": "0"         // 0=成功, 1:失敗
}

var startTime = data.drug_notifies[0].startTime;
var localTime = new Date(startTime);
console.log('startTime=' + startTime);
console.log('localTime=' + localTime);
var now = new Date();
console.log('now=' + now);
このプログラムの実行結果は次のようになる。
$ node utc2local.js
startTime=2019-08-03T00:31:51.000Z
localTime=Sat Aug 03 2019 09:31:51 GMT+0900 (GMT+09:00)
now=Sun Sep 01 2019 15:38:59 GMT+0900 (GMT+09:00)

0 件のコメント:

コメントを投稿