Javascript 黑色api未显示正确的时间
我使用Dark Sky API变量“time”检索unix时间戳,然后使用以下代码将其转换为小时:Javascript 黑色api未显示正确的时间,javascript,darksky,Javascript,Darksky,我使用Dark Sky API变量“time”检索unix时间戳,然后使用以下代码将其转换为小时: if(navigator.geolocation){ navigator.geolocation.getCurrentPosition(position => { long = position.coords.longitude; lat = position.coords.latitud
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(position => {
long = position.coords.longitude;
lat = position.coords.latitude;
const proxy = "https://cors-anywhere.herokuapp.com/";
const api = `${proxy}https://api.darksky.net/forecast/7fa728a1a158d84bf2c85bbeb53ddaea/36.778259,-119.417931`;
fetch(api)
.then(response => {
return response.json();
})
.then(data => {
/*console.log(data);*/
const {temperature, summary, icon, time} = data.currently;
//Get date from time variable
var date = new Date(time*1000);
// Get hours from date
var hours = date.getHours();
// Get minutes from date
var minutes = "0" + date.getMinutes();
// Get seconds from date
var seconds = "0" + date.getSeconds();
// Display time in 10:30:23 format
var formattedTime = hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);
console.log(formattedTime);
//Check time
if (hours <= 19 && hours >= 7) {
//Day
} else {
//Night
}
});
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(位置=>{
long=position.coords.longitude;
纬度=位置坐标纬度;
常量代理=”https://cors-anywhere.herokuapp.com/";
常量api=`${proxy}https://api.darksky.net/forecast/7fa728a1a158d84bf2c85bbeb53ddaea/36.778259,-119.417931`;
获取(api)
。然后(响应=>{
返回response.json();
})
。然后(数据=>{
/*控制台日志(数据)*/
const{temperature,summary,icon,time}=data.current;
//从时间变量获取日期
var日期=新日期(时间*1000);
//从日期开始计算小时数
var hours=date.getHours();
//从约会开始算起
var minutes=“0”+date.getMinutes();
//从日期开始计算秒数
var seconds=“0”+date.getSeconds();
//以10:30:23格式显示时间
var formattedTime=hours+':'+分钟.substr(-2)+':'+秒.substr(-2);
console.log(格式化时间);
//检查时间
如果(小时=7){
//一天
}否则{
//夜
}
});
其他一切工作正常,但仍无法在控制台中显示检索到的位置数据的正确时间。根据:
其中包含多个数据,但在这种情况下,我们关心的是:
需要时区(如美国/纽约)
请求位置的IANA时区名称。用于
文本摘要,用于确定每小时和每日数据块的时间
对象开始
数据点对象 所需时间 此数据点开始的UNIX时间。分钟数据点为 始终与每分钟的顶部对齐,每小时数据点对象 小时的顶部和每日数据点对象到午夜 一天,都根据当地时区 因此您读取的时间是机器时间,这类时间是全局时间,而不是特定时区的时间,因此如果需要显示检索位置的正确时间,则需要在javascript中使用将其转换为区域设置时间
constproxy=”https://cors-anywhere.herokuapp.com/";
常量api=`${proxy}https://api.darksky.net/forecast/7fa728a1a158d84bf2c85bbeb53ddaea/36.778259,-119.417931`;
获取(api)
。然后(响应=>{
返回response.json();
})
。然后(数据=>{
/*控制台日志(数据)*/
const{temperature,summary,icon,time}=data.current;
//使用data.timezone显示检索到的位置的正确时间
//以24:00:00格式获取时间
var formattedTime=新日期(time*1000).toLocaleTimeString(“en-US”{timeZone:data.timeZone,hour12:false});
//以12 00:00:00 AM/PM格式获取时间
var formattedTime=新日期(time*1000).toLocaleTimeString(“en-US”,{timeZone:data.timeZone});
console.log(格式化时间);
})
这是时间的值时间与假设的时间之比是多少?它应该显示darksky api从中检索数据的位置的正确时间。使用经度和纬度。预计的时间是多少,得到的时间是多少?您能告诉exmaple吗?const{temperature,summary,icon,time}=data.current;