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

如何从PHP date_sun_info函数提取日出日落时间及单行字段值

从date_sun_info提取日出日落及独立时间值方法

date_sun_info执行后返回的是带固定键名的关联数组,不需要靠循环逐行输出才能拿值,直接按键名索引就能取到对应独立数值。

常用返回键名说明

和日出日落直接相关的固定键名对应含义如下,所有键对应的值都是Unix时间戳:

  • sunrise:标准日出时间
  • sunset:标准日落时间
  • transit:太阳过中天(当日正午)时间
  • civil_twilight_begin:民用晨光开始(天刚亮)时间
  • civil_twilight_end:民用暮光结束(天全黑)时间
  • 其余还有航海晨昏、天文晨昏相关的键名,按需取用即可。

提取示例代码

直接按键名取值即可,不需要遍历整个数组:

<?php
// 替换为你实际业务使用的经纬度
$lat = 31.2304; // 示例:上海纬度
$lon = 121.4737; // 示例:上海经度
$dateTimestamp = strtotime(date('Y-m-d'));
$sun_info = date_sun_info($dateTimestamp, $lat, $lon);

// 提取独立值并格式化
$sunrise = date("H:i:s", $sun_info['sunrise']);
$sunset = date("H:i:s", $sun_info['sunset']);
$sunTransit = date("H:i:s", $sun_info['transit']);

// 直接输出单个值
echo "当日日出时间:{$sunrise}<br/>";
echo "当日日落时间:{$sunset}<br/>";
echo "当日正午时间:{$sunTransit}<br/>";

// 如果需要批量把所有键值转为独立格式化变量,可以在循环里用可变变量实现
foreach ($sun_info as $key => $val) {
    ${$key} = date("H:i:s", $val);
}
// 后续直接调用$sunrise、$sunset等变量即可,和手动赋值效果一致
?>

注意事项:高纬度地区出现极昼/极夜现象时,对应日出/日落时间戳会返回特殊值(0或1),业务使用时需要加判断过滤这类边界情况。如果不需要格式化时间,直接取$sun_info['键名']就能拿到原始时间戳做后续计算。

内容的提问来源于stack exchange,提问作者www.niesamowitepomorze.pl

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 15:57:28