我在理解如何將用戶當前日期和時間與服務器時間相匹配時遇到了一些問題。ASP.NET將用戶本地日期和時間與系統時間相匹配
示例:假設我有一個網站,用戶可以在其中註冊自己。一個配置文件選項是他們可以選擇他們的本地時區。爲此,有一個下拉菜單,他們可以從中選擇正確的時區。所以來自中國的用戶可能會選擇(UTC + 08:00)北京,重慶,香港,烏魯木齊,洛杉磯的另一位用戶將選擇(UTC-07:00)Mountain Time(美國&加拿大)(我假設)和一個來自巴黎的傢伙將選擇(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; }
}
現在,你們可以與當前時間的曲線時區的匹配有助於使電子郵件的發送正確的時間?
在此先感謝!
順便說,洛杉磯是美國在太平洋時區,而不是山。 –