You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

日出/日落时间:秒转hh:mm格式问题求助

解决日出日落时间格式转换问题

OpenWeatherMap 返回的 sunrise 和 sunset 是Unix时间戳(秒级),你的代码存在两个核心问题:

  1. 调用 DateTime.fromMillisecondsSinceEpoch 时,需先将秒级时间戳转为毫秒(即乘以1000)作为参数,而非生成对象后再做乘法操作
  2. 未对生成的DateTime对象做格式化处理,直接输出会得到对象本身,而非目标的hh:mm格式

方案一:使用Luxon库(对应你代码里的DateTime方法)

// 处理日出时间
const sunriseTimestamp = response.data.sys.sunrise;
const sunriseTime = DateTime.fromMillis(sunriseTimestamp * 1000).toFormat('HH:mm');
document.querySelector("#sunrise").innerHTML = sunriseTime;

// 处理日落时间同理
const sunsetTimestamp = response.data.sys.sunset;
const sunsetTime = DateTime.fromMillis(sunsetTimestamp * 1000).toFormat('HH:mm');
document.querySelector("#sunset").innerHTML = sunsetTime;

方案二:原生JavaScript实现(无需第三方库)

// 处理日出时间
const sunriseDate = new Date(response.data.sys.sunrise * 1000);
const sunriseTime = sunriseDate.toLocaleTimeString('zh-CN', { hour: '2-digit', minute: '2-digit' });
document.querySelector("#sunrise").innerHTML = sunriseTime;

// 处理日落时间同理
const sunsetDate = new Date(response.data.sys.sunset * 1000);
const sunsetTime = sunsetDate.toLocaleTimeString('zh-CN', { hour: '2-digit', minute: '2-digit' });
document.querySelector("#sunset").innerHTML = sunsetTime;

注:toLocaleTimeString 的地域参数(如zh-CN)可根据需求调整,只要保证输出为两位小时+两位分钟的格式即可。

内容的提问来源于stack exchange,提问作者Magdalena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 15:16:00