1

我无法从“ http://worldtimeapi.org/api/timezone/Etc/GMT+7 ”获取和显示日期,但我可以使用内置函数显示日期和时间,但我想显示它使用api。

function MessageHandler(context, event) {
  if (event.message == "date2") {
    context.simplehttp.makeGet('http://worldtimeapi.org/api/timezone/Etc/GMT+7', null, parser);
  }
}

function parser(context, event) {
  var dateJson = JSON.parse(event.getresp);
  var date = dateJson.date;
  context.sendResponse("Today's date is : " + date);
}

function MessageHandler(context, event) {
  if (event.message == "date") {
    context.sendResponse("Today's date is :" + Date());
  }
}

function EventHandler(context, event) {
  context.simpledb.roomleveldata = {};
  MessageHandler(context, event);
}

我正在使用 gupshup IDE,每当我输入 date2 时,我都会在机器人日志中获得这些行

2407: [2019-03-08T09:00:33.249] [INFO] 默认-为 Bot => /devnode/Displayinhthedate 设置 Bot 事件
2408:[2019-03-08T09:00:33.250] [INFO] 默认 - 设置Bot 的 Bot 上下文 =>/devnode/Displayinhthedate
2409:[2019-03-08T09:00:33.252] [INFO] 默认-成功连接到:/devnode/Displayinhthedate/temp_db
2410:[2019-03-08T09:00:33.285 ] [INFO] default-Successfully Fetched Data For Key=>bot:global
2411:[2019-03-08T09:00:33.291] [INFO] default-Successfully Fetched Data For Key =>room:1234

4

1 回答 1

1

问题在这里:

var dateJson = JSON.parse(event.getresp);
var date = dateJson.date;

您正在获取日期,dateJson.date但 JSON 对象中没有键date

{
  "week_number": "10",
  "utc_offset": "-07:00",
  "unixtime": "1552031359",
  "timezone": "Etc/GMT+7",
  "dst_until": null,
  "dst_from": null,
  "dst": false,
  "day_of_year": 67,
  "day_of_week": 5,
  "datetime": "2019-03-08T00:49:19.371885-07:00",
  "abbreviation": "-07"
}

您可以使用dateJson.datetime. 希望它会有所帮助。

于 2019-03-08T07:54:41.147 回答