0

クライアント (雇用主) が候補者 (潜在的な従業員) を 7 日間「予約」できる求人 Web サイトを開発しているため、クライアント A が関心を持っている候補者は検索結果に表示されません (候補者は 7 日後に自動的にリリースされます)。ただし、クライアントはそれらを手動でシステムに解放することもできます)。クライアント A が予約した候補者のリストを表示すると、各レコードには、予約されて解放される (つまり、すべてのクライアントが検索できるようになる) 日付と時刻を含む、各候補者の基本情報が含まれます。

その部分は簡単です。クライアントが使用しているサブドメインに基づいて、この日付と時刻をローカライズしたいときに問題が発生します。2 つの異なる国、2 つの異なるタイム ゾーン、2 つの異なる半球にある 2 つの異なる時間システム (1 つは夏時間を使用する英国にあり、もう 1 つは夏時間を使用しない南アフリカにあります) に 2 つの支店があります。 . これに加えて、他の国に他の支店を開設する計画があり、これは間違いなく問題をさらに悪化させるでしょう.

次を使用してタイムスタンプを調整できます(日付を設定するために time() を使用しています)。

$domExplode = explode('.', $_SERVER['HTTP_HOST']);
$subdom = $domExplode[0];

switch($subdom) {
  case "uk":
    $timeadjust = 0;
  break;
  case "za":
    $timeadjust = 2*60*60;
  break;
  default:
    $timeadjust = 0; //Head Office is in South Africa so GMT+2 is the standard.
  break;
}

$datereserved = $row_rescand['resdte'] + $timeadjust;
$releasedate  = $row_rescand['reldte'] + $timeadjust;

しかし、これは夏時間を考慮していません。また、新しい国を追加するたびに手動でコードを更新する必要があることも意味します。これを行うためのより良い方法、できればプロセスを自動化する何か、おそらく国ごとに持っている MySQL データベースエントリを使用する方法はありますか?

このサイトの使用条件は、Cookie と JavaScript を許可する必要があるため、PHP または JS/JQuery ソリューションのいずれかを受け入れます。私はちょうど空白になっています。

前もって感謝します。

4

0 に答える 0