首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

range(strtotime("00:00"),strtotime("23:59"),30*60)升级到7后无法正常工作,是php问题吗?

根据提供的问答内容,问题描述了在将 range(strtotime("00:00"), strtotime("23:59"), 30*60) 代码升级到 PHP 7 后无法正常工作,询问是否是 PHP 的问题。

首先,让我们来解释一下这段代码的功能和作用:

range(strtotime("00:00"), strtotime("23:59"), 30*60) 是一个 PHP 代码片段,它使用了 range() 函数来生成一个从 "00:00" 到 "23:59" 的时间范围数组,时间间隔为 30 分钟。strtotime() 函数用于将时间字符串转换为 Unix 时间戳。

接下来,我们来解答问题:为什么在 PHP 7 中无法正常工作?

在 PHP 7 中,strtotime() 函数的行为发生了一些变化,特别是对于一些特殊的时间格式。在旧版本的 PHP 中,strtotime() 函数对于 "00:00" 和 "23:59" 这样的时间格式可以正常工作,但在 PHP 7 中可能会出现问题。

解决这个问题的方法是使用更加明确的时间格式,而不是依赖于 strtotime() 函数的隐式解析。可以使用 DateTime 类来处理时间操作,具体代码如下:

代码语言:txt
复制
$start = new DateTime("00:00");
$end = new DateTime("23:59");
$interval = new DateInterval("PT30M");

$range = [];
$current = $start;
while ($current <= $end) {
    $range[] = $current->format("H:i");
    $current->add($interval);
}

print_r($range);

上述代码使用 DateTime 类和 DateInterval 类来生成时间范围数组,时间格式更加明确,可以避免在 PHP 7 中出现问题。

至于是否是 PHP 的问题,可以说是部分问题出在 PHP 的 strtotime() 函数的行为变化上,但更准确地说,是代码在 PHP 7 中对于特殊时间格式的依赖导致的。因此,可以将问题归结为代码需要适应 PHP 7 的变化。

关于云计算领域和开发工程师的专业知识,这里提供一些相关的信息:

  • 云计算:云计算是一种通过网络提供计算资源和服务的模式,包括计算能力、存储空间、数据库、应用程序等。它具有灵活性、可扩展性和高可用性等优势。在云计算领域,腾讯云提供了丰富的产品和服务,如云服务器、云数据库、云存储等。了解更多信息,请访问腾讯云的云计算产品页面
  • 前端开发:前端开发涉及构建用户界面和用户体验,使用 HTML、CSS 和 JavaScript 等技术。腾讯云提供了静态网站托管服务 COS,用于存储和分发前端资源。了解更多信息,请访问腾讯云的对象存储 COS
  • 后端开发:后端开发涉及处理服务器端的逻辑和数据,使用各种编程语言和框架。腾讯云提供了云服务器 CVM、云函数 SCF 等服务,用于搭建和扩展后端应用。了解更多信息,请访问腾讯云的云服务器 CVM云函数 SCF
  • 软件测试:软件测试是确保软件质量和功能的过程,包括单元测试、集成测试、系统测试等。腾讯云提供了云测试 CTS 服务,用于自动化测试和性能测试。了解更多信息,请访问腾讯云的云测试 CTS
  • 数据库:数据库用于存储和管理数据,包括关系型数据库和非关系型数据库等。腾讯云提供了云数据库 MySQL、云数据库 MongoDB 等服务,用于存储和处理数据。了解更多信息,请访问腾讯云的云数据库 MySQL云数据库 MongoDB
  • 服务器运维:服务器运维涉及管理和维护服务器的运行环境和配置。腾讯云提供了云服务器 CVM、云监控等服务,用于管理和监控服务器。了解更多信息,请访问腾讯云的云服务器 CVM云监控
  • 云原生:云原生是一种构建和运行在云上的应用程序的方法论,包括容器化、微服务架构、自动化等。腾讯云提供了容器服务 TKE、Serverless 云函数 SCF 等服务,用于支持云原生应用的开发和部署。了解更多信息,请访问腾讯云的容器服务 TKE云函数 SCF
  • 网络通信:网络通信涉及计算机之间的数据传输和通信协议,包括 TCP/IP、HTTP、WebSocket 等。腾讯云提供了私有网络 VPC、负载均衡 CLB 等服务,用于构建和管理网络环境。了解更多信息,请访问腾讯云的私有网络 VPC负载均衡 CLB
  • 网络安全:网络安全涉及保护计算机和网络系统的安全性,包括防火墙、加密、身份认证等。腾讯云提供了云安全服务 SSL、DDoS 防护等服务,用于保护云上应用和数据的安全。了解更多信息,请访问腾讯云的云安全服务 SSLDDoS 防护
  • 音视频:音视频涉及处理和传输音频和视频数据,包括编解码、流媒体等。腾讯云提供了云直播、云点播等服务,用于音视频的实时传输和存储。了解更多信息,请访问腾讯云的云直播云点播
  • 多媒体处理:多媒体处理涉及处理和编辑多媒体内容,包括图片处理、音视频转码等。腾讯云提供了云点播、云剪辑等服务,用于多媒体内容的处理和编辑。了解更多信息,请访问腾讯云的云点播云剪辑
  • 人工智能:人工智能涉及模拟人类智能的技术和应用,包括机器学习、自然语言处理、图像识别等。腾讯云提供了人工智能平台 AI Lab、人脸识别等服务,用于开发和应用人工智能技术。了解更多信息,请访问腾讯云的人工智能平台 AI Lab人脸识别
  • 物联网:物联网涉及连接和管理物理设备和传感器的网络,包括物联网平台、设备管理等。腾讯云提供了物联网平台 IoT Hub、物联网开发套件等服务,用于构建和管理物联网应用。了解更多信息,请访问腾讯云的物联网平台 IoT Hub物联网开发套件
  • 移动开发:移动开发涉及开发和发布移动应用程序,包括 Android、iOS 平台等。腾讯云提供了移动应用开发套件 MSDK、移动推送等服务,用于支持移动应用的开发和推送。了解更多信息,请访问腾讯云的移动应用开发套件 MSDK移动推送
  • 存储:存储涉及数据的持久化和存储,包括对象存储、文件存储等。腾讯云提供了对象存储 COS、文件存储 CFS 等服务,用于存储和管理数据。了解更多信息,请访问腾讯云的对象存储 COS文件存储 CFS
  • 区块链:区块链是一种去中心化的分布式账本技术,用于记录和验证交易。腾讯云提供了区块链服务 TBC、区块链托管服务等服务,用于构建和管理区块链应用。了解更多信息,请访问腾讯云的区块链服务 TBC区块链托管服务
  • 元宇宙:元宇宙是一个虚拟的数字世界,模拟现实世界的各种场景和交互。腾讯云在元宇宙领域提供了云游戏、虚拟现实等服务,用于构建和体验虚拟世界。了解更多信息,请访问腾讯云的云游戏虚拟现实

希望以上信息能对您有所帮助。如果您有任何其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

php实现获取近几日、月时间示例

"<br "; echo "一周:".date("Y-m-d",strtotime("+1 week"))....=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y')); echo "上周开始时间戳和结束时间戳",'开始:',$beginLastweek...:2019-07-05 00:00:00 昨日结束时间:2019-07-05 23:59:59 ——————————————————————————– 上周开始时间戳和结束时间戳开始:1561305600...结束:1561910399 上周开始时间:2019-06-24 00:00:00 上周结束时间:2019-06-30 23:59:59 ——————————————————————————– 本月开始时间戳和结束时间戳开始...:1561910400结束:1564588799 本月开始时间:2019-07-01 00:00:00 本月结束时间:2019-07-31 23:59:59 PS:这里再为大家推荐几款时间及日期相关工具供大家参考

77731

PHP获取当前系统时间的办法小结

(‘PRC’); php获取当前时间、时间戳 首先需要知道的php中获取时间办法date(),在php中获取时间戳办法有time()、strtotime()。...G – 24 小时制的小时,不足二位不补零; 如: “0” 至 “23” ? i – 分钟; 如: “00” 至 “59” ?...,strtotime(‘+1 day’));输出结果:2012-03-23 23:30:33(会发现输出明天此时的时间) echo date(‘Y-m-d H:i:s’,strtotime(‘-1 day...’));输出结果:2012-03-21 23:30:33(昨天此时的时间) echo date(‘Y-m-d H:i:s’,strtotime(‘+1 week’));输出结果:2012-03-29...23:30:33(下个星期此时的时间) echo date(‘Y-m-d H:i:s’,strtotime(‘next Thursday’));输出结果:2012-03-29 00:00:00(下个星期四此时的时间

6.2K21

PHP获取当前系统时间的方法小结

:05 三、时区问题 上述方法都存在时区问题,具体解决: 方法一:php.ini中修改为中国时区 date.timezone = PRC 方法二:在php文件中临时设置为中国时区 date_default_timezone_set...(‘PRC’); php获取当前时间、时间戳 首先需要知道的php中获取时间方法date(),在php中获取时间戳方法有time()、strtotime()。...H:i:s’,strtotime(‘+1 day’));输出结果:2012-03-23 23:30:33(会发现输出明天此时的时间) echo date(‘Y-m-d H:i:s’,strtotime...(‘-1 day’));输出结果:2012-03-21 23:30:33(昨天此时的时间) echo date(‘Y-m-d H:i:s’,strtotime(‘+1 week’));输出结果:2012...-03-29 23:30:33(下个星期此时的时间) echo date(‘Y-m-d H:i:s’,strtotime(‘next Thursday’));输出结果:2012-03-29 00:00

6.1K20

PHP时间函数使用详解

首先需要知道的php中获取时间方法date(),在php中获取时间戳方法有time()、strtotime()。下面分别说明。...“12” n – 月份,二位数字,若不足二位则不补零; 如: “1” 至 “12” M – 月份,三个英文字母; 如: “Jan” s – 秒; 如: “00” 至 “59” S – 字尾加英文序数,二个英文字母...23:30:33(输出明天此时的时间) echo date(‘Y-m-d H:i:s’,strtotime(‘-1 day’));输出结果:2014-12-15 23:30:33(昨天此时的时间) echo...date(‘Y-m-d H:i:s’,strtotime(‘+1 week’));输出结果:2014-12-22 23:30:33(获取下个星期此时的时间) echo date(‘Y-m-d H:i:...php获取当前时间的毫秒数 php本身没有提供返回毫秒数的函数,但提供了microtime()方法,它会返回一个数组,包含两个元素:一个秒数、一个小数表示的毫秒数,我们可以通过此方法获取返回的毫秒数

4.8K21

解决PHP时间戳中月份、日期前带不带0的问题

php处理时间戳解决时间戳中月份、日期前带不带0的问题 解决PHP时间戳中月份、日期前带不带0的问题 有的时候网页中输出日期时间,月份和日期前有个0,总感觉多余的,今天我们就分享关于PHP时间戳中月份和日期前面显示...H:i:s’,strtotime(‘+1 day’)),输出结果:2012-03-23 23:30:33(会发现输出明天此时的时间) echo date(‘Y-m-d H:i:s’,strtotime...(‘-1 day’)),输出结果:2012-03-21 23:30:33(昨天此时的时间) echo date(‘Y-m-d H:i:s’,strtotime(‘+1 week’)),输出结果:2012...-03-29 23:30:33(下个星期此时的时间) echo date(‘Y-m-d H:i:s’,strtotime(‘next Thursday’)),输出结果:2012-03-29 00:00:...5、php获取当前时间的毫秒数 php本身没有提供返回毫秒数的函数,但提供了microtime()方法,它会返回一个Array,包含两个元素:一个秒数、一个小数表示的毫秒数,我们可以通过此方法获取返回毫秒数

6.4K30

php处理时间戳解决时间戳中月份、日期前带不带0的问题

php处理时间戳解决时间戳中月份、日期前带不带0的问题 解决PHP时间戳中月份、日期前带不带0的问题 有的时候网页中输出日期时间,月份和日期前有个0,总感觉多余的,今天我们就分享关于PHP时间戳中月份和日期前面显示...H:i:s’,strtotime(‘+1 day’)),输出结果:2012-03-23 23:30:33(会发现输出明天此时的时间) echo date(‘Y-m-d H:i:s’,strtotime...(‘-1 day’)),输出结果:2012-03-21 23:30:33(昨天此时的时间) echo date(‘Y-m-d H:i:s’,strtotime(‘+1 week’)),输出结果:2012...-03-29 23:30:33(下个星期此时的时间) echo date(‘Y-m-d H:i:s’,strtotime(‘next Thursday’)),输出结果:2012-03-29 00:00:...5、php获取当前时间的毫秒数 php本身没有提供返回毫秒数的函数,但提供了microtime()方法,它会返回一个Array,包含两个元素:一个秒数、一个小数表示的毫秒数,我们可以通过此方法获取返回毫秒数

8.7K50

计数器、滑动窗口、漏桶、令牌算法比较和伪代码实现

当此刻 2018-02-27 16:23:00 到 2018-02-27 16:24:00 时间内,请求最多只能60个!到了2018-02-27 16:24:00,把计数器归零! 周而复始! ?...但这种会有问题!比如我在前58s都不请求,而在最后一秒请求60次!这样的效果跟木有啥区别.....则是正常的! 当时间走到第二个段里,即10s~20s这段范围里,我请求数不能超过总的限定条件,且当前段的请求数量 加上 之前段的总数量也不能超过总限定数量! 当时间到了50s~60s,依然一样!...如果过了60s,所以请求数都是正常的,则把划分段往右移一段!...那么此时的6个分段 10 ~ 20,20 ~ 30,30 ~ 40,40 ~ 50,50 ~ 60,60 ~ 70 然后统计规则还跟上面一样! 所以,只有划分的越细,请求限制越平滑!

2.6K21

关于PHP转换超过2038年日期出错的问题解决

测试中发现服务器上测试正常的功能,在本地一直有问题。一步步的排查,最终锁定问题由于函数strtotime返回了一个false值,导致数据插入数据库失败。...要么PHP版本不同,要么位数不同。 我电脑64位的。这里PHP位数不一致,服务器使用64位,而我本地32位。...而strtotime被传入了一个字符串2050-1-1 23:59:59,该参数大于了2038-1-19 03:14:07所以在32位PHP下直接返回false,而64位PHP不受影响。...超过这个时间,整型数值将会溢出。 64位系统或PHP 64位系统下可以保存的日期最远日期现在宇宙年龄的21倍——292亿年。所以不会受到该漏洞影响。...方法二 var_dump(strtotime("2050-12-31 23:59:59")); 上面结果如果返回2556115199那么就正常。如果返回false那么也会受到影响。

60220
领券