说明

纯属没事写着玩的,别上纲上线。判断日出日落都是按照北京时间来的,不会按照ip地址精确到省份。我是写代码的,不是气象台的!

实现

首先,想要自动开启/关闭夜间模式我们需要知道现在的太阳的状态(日出/日落),所以说先要获取今日的日出和日落时间。在网上找了一大圈也没找到可以对接的api,所以说只能靠自己来写了。

我这里的演示是从curl函数来获取源码,然后正则表达式匹配出我们想要的东西。<?php

//获取源代码

$result = get_curl('https://mtime.guowaitianqi.com/rcrl-5141-'.date('Ymd').'.html');

//获取日出时间

preg_match_all("/\日出时间:(.*)\/",$result,$sunup);

$sunup = date('Y-m-d').' '.trim($sunup[1][0]);

//获取日落时间

preg_match_all("/\日落时间:(.*)\/",$result,$sundown);

$sundown = date('Y-m-d').' '.trim($sundown[1][0]);

好了,利用正则表达式我们已经将想要的日出和日落的时间都匹配出来了,接下来可以进行判断了。//判断是否开启夜间模式

$time = time();

if($timestrtotime($sundown)){

//开启夜间模式

}else{

//关闭夜间模式

}

原理也很简单,如果当前时间小于日出时间,或者当前时间大于日落时间就开启夜间模式,很好理解吧。具体代码自行实现吧,这里获取源码的时间我是用date函数拼接出来的,所以说想要获取下一天或者上一天的,只要改一下date函数就可以了。

后记

我也不知道为什么要写这个,真的就是写着玩的,没有那么多的功能,就只是获取北京时间的日出日落时间,我精确不到每个省,别杠了,我都服了。

博主推荐:『小火车主机』更专业的虚拟主机提供商如无特殊说明《php实现自动开启/关闭夜间模式》为博主MoLeft原创,转载请注明原文链接为:https://www.moleft.cn/post-49.html

php夜间,php实现自动开启/关闭夜间模式相关推荐

  1. IOS快捷指令-工作日午休勿扰自动开启/关闭

    一.需求来源: 为了中午午休时不被应用通知打扰 二.使用iPhone的快捷指令配合 自动化 实现中午12点–14点 自动开启勿扰模式,屏蔽App通知. 但保留来电/短信 三.使用方法: 直接使用Saf ...

  2. chrome谷歌浏览器如何关闭自动开启的开发者模式

    自动打开关闭开发者模式 1.关闭自动开发者模式 1.1对谷歌浏览器快捷方式右键打开属性 1.2如图目标栏里增加 --args --disable-web-security --user-data-di ...

  3. mysql 严格模式_MySQL 开启/关闭 严格模式(Strict Mode)

    [广告:最高 ¥2000 红包]阿里云服务器.主机等产品通用,可叠加官网常规优惠使用 | 限时领取 查看 Mysql 是否开启严格模式: 打开 MySQL 配置文件 my.cnf(windows为my ...

  4. codeigniter如何开启关闭调试模式?

    当我们在用codeigniter做项目开发时,在开发环境里面需要开启调试模式,在开发以及测试完成后就需要发布到服务器里面上线运营了.那么,codeigniter如何开启关闭调试模式呢? 开启调试模式: ...

  5. Android开启/关闭飞行模式命令

    1.打开飞行模式 # adb shell am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true2.关闭飞行模式 # a ...

  6. iis命令(网站自动开启关闭)

    在cmd命令工具下,使用管理员权限可用 控制某一个网站 查看命令:C:\Windows\System32\inetsrv\appcmd.exe /? 开启某网站:C:\Windows\System32 ...

  7. oracle开启/关闭归档模式

    1.改变非归档模式到归档模式: 1)SQL> conn / as sysdba (以DBA身份连接数据库) 2)SQL> shutdown immediate;(立即关闭数据库) 3)SQ ...

  8. oracle开启关闭严格模式,Flowable DMN 用户手册 (v 6.4.2-SNAPSHOT)

    3.4. 单元测试 由于Flowable DMN是一个可嵌入的Java引擎,因此编写DMN定义的单元测试就像编写常规单元测试一样简单. Flowable支持JUnit版本4和5样式的单元测试. 在JU ...

  9. 如何让Windows 10每天夜间自动开启深色模式

    正如大家所知道的,当在夜间使用Windows 10时,我们可以开启系统的"夜间模式",在这个模式下,Windows 10将呈现让眼睛感觉更加舒适的暖色调,以便尽可能地将对我们睡眠的 ...

最新文章

  1. 计算机用户账户添加,windows添加用户账户
  2. x86汇编指令集大全
  3. 在ubuntu上搭建LNMP服务器
  4. 程序员的搞笑日常:写给1024的程序员们,现在的你们还在加班吗?
  5. 20190816:(leetcode习题)有效的数独
  6. groupdel 删除组_如何在Linux中删除组– groupdel命令
  7. JDBC调用存储过程,以及存储过程 事务的使用.....
  8. 手把手教你破速达5000PRO v2.33加密狗
  9. ESP8285调试记录
  10. 零基础搭建美团饿了么外卖红包CPS小程序教程
  11. 2022-车道线检测综述
  12. MATLAB ttest和ttest2
  13. 云服务器安全配置开放哪些端口
  14. [题]口袋的天空(连接云朵) —— 标签 #最小生成树(kru) #并查集
  15. windows server2019安装SQLServer
  16. Ubuntu 命令行 安装 Operator Mono 字体
  17. Linux 中VirtualBox6.0.8 仅主机模式不可用
  18. 读书、学习、工作和生活中收集的20条经典语录:1-20
  19. 数据分析:大数据时代的必备技能之Power BI
  20. git --no-verify

热门文章

  1. C#利用控件拖拽技术制作拼图游戏
  2. 清华大学计算机研究生课程表
  3. python足球联赛赛程_足球联赛赛程表生成
  4. 石家庄建工科技学院有计算机专业吗,石家庄建工科技学院官网
  5. 第三方直播SDK对比|直播SDK如何选型
  6. android马甲包代理,安卓渠道马甲包配置
  7. Final发布中间产物
  8. Obloq模块:基于ESP8266的物联网模块
  9. 小程序后台开发sdk
  10. MySQL备份工具之xtrabackup