特定のイベントの開始日をAPIから取得しています。応答は既知のタイムゾーン(UTC)の文字列で、サーバーのタイムゾーン(GMT + 1)とは異なります。日付は間違いなく将来です。データ操作の操作
「今日」の場合は、イベントが開始される時刻を表示したいと思います。 明日が始まったら、イベントが始まる日と時刻を表示したいと思います。しかし、ボットはサーバーのタイムゾーンにあるはずです。
私はこれをこのようにハッキングしましたが、私はそれはひどく悪いと感じます。
function manipulateEventDate($date)
{
$now = new DateTime("now");
$eventDate = new DateTime($date); // convert the string to DateTime
$eventDate->modify('+ 1 hour'); // Manually convert it in the server's timezone
if ($now->format('d') == $eventDate->format('d')) {
return $eventDate->format('H:m');
}
return $eventDate->format('D H:i');
}
出力:
イベントは今日始まります。将来的には18:00
イベント:タイムゾーンに対処し、より良い方法で問題を解決する方法についてTue 11:00
何かアドバイスを?