Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对API调用感到困惑。计算当前日期和未来日期之间的时间_Javascript_Node.js_Express - Fatal编程技术网

Javascript 对API调用感到困惑。计算当前日期和未来日期之间的时间

Javascript 对API调用感到困惑。计算当前日期和未来日期之间的时间,javascript,node.js,express,Javascript,Node.js,Express,我正在为一门课程做一个项目,该课程需要连续进行几个API调用。我做了第一个,准备了第二个,但我对API的要求感到困惑。我正在尝试使用黑暗天空API来获取未来约会的天气。我有一个表单,用户以MM/DD/YYYY的格式提交未来日期,我将其分为三个变量:月、日、年。问题是我不确定时间参数要求什么。因此,我得到了一个“格式错误的请求”错误。具体来说,我使用的是黑暗天空时间机器请求API。其页面如下: 有人能看一下并告诉我时间参数的具体要求吗 看起来它可能在询问从现在到未来日期之间的秒数。我怎么计算呢

我正在为一门课程做一个项目,该课程需要连续进行几个API调用。我做了第一个,准备了第二个,但我对API的要求感到困惑。我正在尝试使用黑暗天空API来获取未来约会的天气。我有一个表单,用户以MM/DD/YYYY的格式提交未来日期,我将其分为三个变量:月、日、年。问题是我不确定时间参数要求什么。因此,我得到了一个“格式错误的请求”错误。具体来说,我使用的是黑暗天空时间机器请求API。其页面如下:

有人能看一下并告诉我时间参数的具体要求吗

看起来它可能在询问从现在到未来日期之间的秒数。我怎么计算呢

另一个选择是使用日期格式,但我不知道如何格式化它。我当前的获取请求如下所示:

const res = await fetch(`https://api.darksky.net/forecast/${darksky_key}/${lat},${lng},${year}-${month}-${day}`)
有人能看看API和时间参数,告诉我我做错了什么吗?如果我需要计算从一个日期到未来日期的时间,我该怎么做

谢谢
Michael

它说时间必须是UNIX格式

const time = new Date(`${year}.${month}.${day}`).getTime() / 1000
const res = await fetch(`https://api.darksky.net/forecast/${darksky_key}/${lat},${lng},${time}`)

它不是现在和将来数据之间的秒数,而是UNIX时间(以秒为单位):

所需时间

可以是UNIX时间(即1970年1月1日格林尼治标准时间午夜后的秒数),也可以是格式如下的字符串:
[YYYY]-[MM]-[DD]T[HH]:[MM]:[SS][timezone]
<代码>时区(指所请求位置的本地时间)、
Z
(指格林尼治时间),或
+[HH][MM]
-[HH][MM]
表示格林尼治时间的小时和分钟偏移量。时区仅用于确定请求的时间;响应将始终与本地时区相关

您需要的是将给定的日期转换为其unix时间戳表示形式

或者,您应该修复日期参数以匹配格式:

const res = await fetch(`https://api.darksky.net/forecast/${darksky_key}/${lat},${lng},${year}-${month}-${day}T00:00:00Z`)


如果你觉得这个答案有帮助,请点击投票。