php - 请告诉我为什么我不能让 php 中的 date("I") 工作
问题描述
我不能让它工作!
我们今天改为夏令时 - 八小时前。然而 date("I") 函数仍然返回“0”而不是“1”。如果我使用此代码:
<?php
echo(date("I"));
?>
它返回 0
它把我逼疯了——请问有什么想法吗?
解决方案
您需要正确设置时区:
echo date_default_timezone_get(); // UTC
echo date('I'); // 0
// configure timezone correctly
ini_set('date.timezone', 'Europe/Amsterdam');
echo date('I'); // 1
也可以直接在 php.ini 文件中配置,也可以调用date_default_timezone_set()
.
阅读有关 PHP 中 date_default_timezone_get() 的更多信息
但是,我鼓励您改用 DateTime,因为全局配置时区可能会产生意想不到的副作用。
$dt = new DateTime('now', new DateTimeZone('Europe/Amsterdam'));
echo $dt->format("I"); // 1
推荐阅读
- python - 在 numpy 数组和 pandas 数据框中选择列的常用方法
- ssis - 使用批处理文件在服务器上部署和运行 SSIS 包
- python - Google Analytics Dashboard Data 和通过 python googleapiclient 导入的数据不匹配
- laravel - 如果 esle 条件在 laravel 5.4 中的中间件的构造函数中不起作用
- ios - 如何在 Swift 中打印 Unicode 字符
- javascript - 为什么 async/await 会打破 $http.get/角度摘要循环?
- html - Flex 段落在多行或更长的单词而不是一行时在其右边缘占用更多空间
- javascript - 未捕获的错误:语法错误,无法识别的表达式:不支持的语言:
- debugging - ARFoundation 包的 Unity 编辑器中的平面模拟
- reactjs - 重定向后 React 不做任何事情