Как отобразить дату, когда пользователь вводит дату? - PullRequest
1 голос
/ 08 марта 2019

Я не могу выбрать и отобразить дату из "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, когда я даю дату ввода2, я получаю эти строки в логе бота

2407: [2019-03-08T09: 00: 33.249] [INFO] Настройка бот-события по умолчанию для бота => / devnode / Displayinhthedate
2408: [2019-03-08T09: 00: 33.250] [ИНФО] по умолчанию - Настройка контекста бота для бота => / devnode / Displayinhthedate
2409: [2019-03-08T09: 00: 33.252] [ИНФО] по умолчанию - успешно подключено к: / devnode / Displayinhthedate / temp_db
2410: [2019-03-08T09: 00: 33.285] [INFO] данные по умолчанию для успешно выбранных данных для ключа => бот: глобальный
2411: [2019-03-08T09: 00: 33.291] [INFO] данные по умолчанию для успешно выбранных ключей => номер: 1234

1 Ответ

1 голос
/ 08 марта 2019

Проблема здесь:

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.Надеюсь, это поможет.

...