ユーザーの現在の日付と時刻をサーバーの時刻と一致させる方法を理解するのに問題があります。
例:ユーザーが自分で登録できるWebサイトがあるとします。プロファイルオプションの1つは、ローカルタイムゾーンを選択できることです。このために、正しいタイムゾーンを選択できるドロップダウンメニューがあります。したがって、中国のユーザーはおそらく(UTC + 08:00)北京、重慶、香港、ウルムキを選択し、ロサンゼルスの別のユーザーは(UTC-07:00)マウンテンタイム(米国とカナダ)(私は推測)とパリの男が(UTC + 01:00)ブリュッセル、コペンハーゲン、マドリッド、パリを選択します。
Webアプリケーションは、特定のタイムゾーンを持つ米国のサーバーで実行されています...
今...これらすべてのユーザーは、来週の金曜日の19:00にローカルタイムゾーンで電子メール通知を受け取りたいと思うでしょう!!!
ここで私は迷子になっています...間違いなく次の金曜日の19:00は、これらすべてのユーザーにとって同じ時間ではありません...
プロファイルのタイムゾーンをマップして、私のサイトで実行されているサービスが来週の金曜日の19:00ユーザーのローカルタイムゾーンに電子メール通知を送信するようにするにはどうすればよいですか?
現在、この段階にあります...ドロップダウンメニューにすべてのタイムゾーンを入力して、ユーザーがプロファイルで現在のタイムゾーンを選択できるようにします。
ドロップダウンよりもページの読み込みにタイムゾーンが表示される場合:
protected void Page_Load(object sender, EventArgs e)
{
ddlUserTimeZone.DataSource = GetTimeZones();
ddlUserTimeZone.DataTextField = "Name";
ddlUserTimeZone.DataValueField = "ID";
ddlUserTimeZone.DataBind();
}
public Collection<TimeZoneItem> GetTimeZones()
{
Collection<TimeZoneItem> timeZones = new Collection<TimeZoneItem>();
foreach (var timeZoneInfo in TimeZoneInfo.GetSystemTimeZones())
{
timeZones.Add(new TimeZoneItem
{
TimeZoneName = timeZoneInfo.DisplayName,
TimeZoneID = timeZoneInfo.Id
});
}
return timeZones;
}
public struct TimeZoneItem
{
public string TimeZoneName { get; set; }
public string TimeZoneID { get; set; }
}
さて、メールが正しい時刻に送信されるように、プロファイルのタイムゾーンを現在の時刻と一致させるのを手伝ってもらえますか?
前もって感謝します!