php - 转换时间戳后获取错误日期
问题描述
我有
Fri Mar 13 2020 00:00:00 GMT+0100 (Ora standard dell’Europa centrale)-Mon Mar 23 2020 00:00:00 GMT+0100 (Ora standard dell’Europa centrale)
期待
Sardegna
13/03/2020-23/03/2020
但收到:
Sardegna
12/03/2020-22/03/2020
代码
$count = 0;
foreach($dates as $arr){
$exploded = explode('-',$arr);
$finalTime = '';
foreach($exploded as $explode){
$timeString = trim(explode('(',$explode)[0]);
$finalTime .= (!empty($finalTime)) ? "-".date('d/m/Y', strtotime($timeString)) : date('d/m/Y', strtotime($timeString));
}
echo "<li>".$nations[$count]."</li>";
echo "<li>".$finalTime."</li>";
echo PHP_EOL;
$count++;
}
解决方案
将您爆炸字符串的内容从更改(
为' GMT'
$count = 0;
foreach($dates as $arr){
$exploded = explode('-',$arr);
$finalTime = '';
foreach($exploded as $explode){
$timeString = trim(explode(' GMT',$explode)[0]);
// ^^^^
// or as you dont need the trim any more
$timeString = explode(' GMT',$explode)[0];
$finalTime .= (!empty($finalTime)) ? "-".date('d/m/Y', strtotime($timeString)) : date('d/m/Y', strtotime($timeString));
}
echo "<li>".$nations[$count]."</li>";
echo "<li>".$finalTime."</li>";
echo PHP_EOL;
$count++;
}
这将删除时区,这是您的小时差异的原因
推荐阅读
- php - 无法制作自定义签名验证器类 [Laravel 8 Spatie Webhook 客户端]
- networking - 思科数据包跟踪器
- flutter - 颤振 2.5 颤振亮度已弃用
- c# - 自定义视图上的多重触发器
- video - 启动电脑时如何自动播放视频
- firebase - 用于空值的空检查运算符,类型“String”不是“index”类型“int”的子类型
- r - 多色条形图 ggplot
- powershell - powershell 在配置文件中查找和替换文本
- node.js - 在云功能上使用 puppeeter 进行长期工作
- c# - C# Web 应用程序可以访问网络共享,但我的 ISAPI 扩展不能 - 为什么?