大家好,我是 PHP 的新手...有了这个功能,我知道了两个日期之间的天数,但我无法在不破坏它的情况下将其翻译成意大利语。有人能帮我吗?我尝试在这两种模式下使用 strftime(),但它给了我错误:strftime() 期望参数 2 为 int,给定对象,我已经完成了 date 的 var_dump,它是对象,我需要转换它或这不是我问题的答案吗?$from_date = new DateTime($from_date); $to_date = new DateTime($to_date); for ($date = $from_date; $date <= $to_date; $date->modify('+1 day')) { echo $date->format('l') . "\n"; //echo strftime("%A", $date); error : strftime() expects parameter 2 to be int, object given //var_dump($date); object(DateTime) }输出:周三周四周五我选择 $from_date 和 $to_date 来自:+------------+------------+| from_date | to_date |+============+============+| 2020-04-01 | 2020-04-03 |+------------+------------+
2 回答

扬帆大鱼
TA贡献1799条经验 获得超9个赞
如果您正确设置了语言环境,这应该对您有用setlocale(LC_TIME, 'it_IT.UTF-8');。我还稍微修改了您的代码,使其更具可读性和简洁性。
<?php
setlocale(LC_TIME, 'it_IT.UTF-8');
$period = new DatePeriod(new DateTime('2020-04-07'),new DateInterval('P1D'),new DateTime('2020-04-18'));
foreach ($period as $key => $value) {
echo strftime("%A", $value->getTimestamp()).PHP_EOL;
}
?>
工作演示: https ://3v4l.org/sYirG

潇潇雨雨
TA贡献1833条经验 获得超4个赞
我使用以下方法修复了它:
for ($date = $from_date; $date <= $to_date; $date->modify('+1 day')) {
echo utf8_encode (strftime("%A", $date->getTimestamp())).PHP_EOL;
}
输出:周三周四周五
- 2 回答
- 0 关注
- 83 浏览
添加回答
举报
0/150
提交
取消