大家好,我是 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 關注
- 101 瀏覽
添加回答
舉報
0/150
提交
取消