我在使用PHP strtotime函数是,遇到了+9时区的问题。
$first_day = strtotime($year.'-'.$i.'-01 00:00:00');return json($first_day);
得到的结果是 2024-01-01 09:00:00
请问到底该怎么解决才能使 strtotime 直接得到0点的时间戳?
我检查了系统的时区,timedatectl 返回的结果
Local time: Wed 2024-01-03 22:15:09 CST Universal time: Wed 2024-01-03 14:15:09 UTC RTC time: Wed 2024-01-03 14:15:09 Time zone: Asia/Shanghai (CST, +0800)System clock synchronized: yes NTP service: active RTC in local TZ: no
PHP date_default_timezone_get() 返回的是PRC。
即便使用 DateTime 得到的依然是2024-01-01 09:00:00。
new DateTime($year.'-'.$i.'-01', new DateTimeZone('Asia/Shanghai'));
strtotime
函数使用默认时区,如果你的date_default_timezone_get
获取到是PRC
,正常是没问题的。
可以试下这代码:
ini_set('date.timezone', 'PRC');echo date_default_timezone_get(), PHP_EOL;echo strtotime('today'), PHP_EOL;echo date('Y-m-d H:i:s', strtotime('today'));
效果见:https://3v4l.org/ICbJv
要解决 PHP strtotime 函数与时区相关的问题,你需要正确设置 PHP 的时区,并将其应用于 strtotime 函数。在你的情况下,系统时区设置正确,但 PHP 的时区设置似乎存在问题。
首先,确保你在 PHP 代码中设置了正确的时区。你可以使用 date_default_timezone_set 函数来设置时区。在你的代码中添加以下行:
date_default_timezone_set('Asia/Shanghai');
这将设置 PHP 的默认时区为上海时区(CST)。
接下来,使用 strtotime 函数时,将日期时间字符串传递给 strtotime 函数,并指定正确的时区。在你的代码中,将日期时间字符串中的时间部分设置为 00:00:00,以确保获取的是当天的凌晨时间戳。然后,使用 DateTime 对象将时间戳转换为日期时间字符串,并指定正确的时区。
以下是修改后的代码示例:
date_default_timezone_set('Asia/Shanghai');$year = 2024;$i = 1;$date = $year.'-'.$i.'-01 00:00:00';$timestamp = strtotime($date);$datetime = new DateTime(null, new DateTimeZone('Asia/Shanghai'));$datetime->setTimestamp($timestamp);$result = $datetime->format('Y-m-d H:i:s');echo json($result); // 输出 2024-01-01 00:00:00
这样,你就可以使用 strtotime 函数直接获取指定日期当天的凌晨时间戳,并将其转换为正确的日期时间字符串。
本文向大家介绍php构造函数与析构函数,包括了php构造函数与析构函数的使用技巧和注意事项,需要的朋友参考一下 php构造函数是对象创建完成后,第一个自动调用的方法,析构函数是当对象被释放之前最后一个自动调用的方法。本文章向大家介绍php构造函数与析构函数。 php构造函数 1.是对象创建完成后,“第一个”“自动调用”的方法 2.构造方法的定义,方法名是一个固定的, 在php4中:和类名相同的方法
问题内容: 我的服务器时间是格林尼治标准时间(GMT),每当有人在线时,我都会执行以下操作。 所以,我的问题是……每当有人执行某项操作时,它都会将日期/时间存储在用户本地时间中……这给我带来了很多麻烦。 我想要的是将所有内容存储在GMT中,但要让用户在其本地时区查看数据并与之交互。 编辑: 这是我更新用户状态的方法: 这是我将日期戳转换为秒的功能。 最后,我如何比较日期: 问题答案: 这里的技巧是
并非所有成员函数都要用 public 指定为类接口的一部分。有些成员函数保持 private,作为类中 其他函数的工具函数(utility function)。 软件工程视点 6.17 成员函数分为几大类:读取和返回私有数据成员值的函数、设置私有数据成员值的函数、实现类特性的 函数和进行各种类操作的函数(如初始化类对象、指定类对象、将类与内部类型或其他类进行相互转换以及处理奥对象内存)。 访问函数
本文向大家介绍PHP中in_array函数使用的问题与解决办法,包括了PHP中in_array函数使用的问题与解决办法的使用技巧和注意事项,需要的朋友参考一下 先介绍一下需求背景: 发票方式: 0=捐赠(不要问我为什么,历史原因) 1=对中寄送 2=索取 3=电子发票 现在要对用户提交的数据进行检测: 这个时候出现一个问题,如果压根就不存在$_POST[‘invoice_action']这个值,为
尝试与数据库MySQL建立连接时出现此错误 与MySQL的连接是这样完成的:
我将下面的函数放在一个类中 我尝试在这个函数中再次调用它(我在这个函数