TimeZoneInfo ve uygulamanın zamanı ayarı

Uzun zamandır asp.net kullanıyorum ve server saati hep bir problem olmuştur. şu işi web.config den ayarlicak bi sistem henüz bulamadım. şu işi biraz açıklıyim. ne zaman bi site yapsanız bi kullanıcı sisteminiz olur allahtan ona membershipprovider koydular uraştırmıo fazla. bide bu kullanıcıların sistemdeki işlemleri olur. en basit örnek bişeye yorum bırakmak olsun. server amerikada diyelim ve site türkçe. bu durumda kullanıcılarınızda genelde türkiyeden insanlar olucak. kullanıcı gelir login olur saat 12:00 dır ve 12:01 de yorumu yazar göndere basar fekat gönderim saati database e 03:01 diye insert edilir ve gösterilirkende öyle gösterilir. işte şu iş dediğim yer burası. bu durumda yapılması gereken ya insert sırasında zamanı türkiye saatine uygun çevirmek veya gösterimde kayıt edilmiş zamanı türkiye saatine çevirmek.

neyse bu gece yine aynı durumla karşılaştım. bakındım ve yine uygun bişey bulamadım ama .net 3.5 ile gelen TimeZoneInfo class ını buldum ağzını açan süper diyor ne olaki diye başladım bızdıklamaya. dalga basitce convert işlemi yapmayı sağlıyor. tabi kod örneğide bulamadım istanbul saatine çevirecek ondan yazim dedim burayada merak eden olursa diye

<%=TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now, “GTB Standard Time”)%>

server daki şimdiki zamanı bizim saatimize çevirir. diğer tanımlı timezon idlerinide şöylece yazim.

Morocco Standard Time (GMT) Casablanca
GMT Standard Time (GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London
Greenwich Standard Time (GMT) Monrovia, Reykjavik
W. Europe Standard Time (GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
Central Europe Standard Time (GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague
Romance Standard Time (GMT+01:00) Brussels, Copenhagen, Madrid, Paris
Central European Standard Time (GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb
W. Central Africa Standard Time (GMT+01:00) West Central Africa
Jordan Standard Time (GMT+02:00) Amman
GTB Standard Time (GMT+02:00) Athens, Bucharest, Istanbul
Middle East Standard Time (GMT+02:00) Beirut
Egypt Standard Time (GMT+02:00) Cairo
South Africa Standard Time (GMT+02:00) Harare, Pretoria
FLE Standard Time (GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius
Israel Standard Time (GMT+02:00) Jerusalem
E. Europe Standard Time (GMT+02:00) Minsk
Namibia Standard Time (GMT+02:00) Windhoek
Arabic Standard Time (GMT+03:00) Baghdad
Arab Standard Time (GMT+03:00) Kuwait, Riyadh
Russian Standard Time (GMT+03:00) Moscow, St. Petersburg, Volgograd
E. Africa Standard Time (GMT+03:00) Nairobi
Georgian Standard Time (GMT+03:00) Tbilisi
Iran Standard Time (GMT+03:30) Tehran
Arabian Standard Time (GMT+04:00) Abu Dhabi, Muscat
Azerbaijan Standard Time (GMT+04:00) Baku
Caucasus Standard Time (GMT+04:00) Caucasus Standard Time
Armenian Standard Time (GMT+04:00) Yerevan
Afghanistan Standard Time (GMT+04:30) Kabul
Ekaterinburg Standard Time (GMT+05:00) Ekaterinburg
Pakistan Standard Time (GMT+05:00) Islamabad, Karachi
West Asia Standard Time (GMT+05:00) Tashkent
India Standard Time (GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi
Sri Lanka Standard Time (GMT+05:30) Sri Jayawardenepura
Nepal Standard Time (GMT+05:45) Kathmandu
N. Central Asia Standard Time (GMT+06:00) Almaty, Novosibirsk
Central Asia Standard Time (GMT+06:00) Astana, Dhaka
Myanmar Standard Time (GMT+06:30) Yangon (Rangoon)
SE Asia Standard Time (GMT+07:00) Bangkok, Hanoi, Jakarta
North Asia Standard Time (GMT+07:00) Krasnoyarsk
China Standard Time (GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi
North Asia East Standard Time (GMT+08:00) Irkutsk, Ulaan Bataar
Singapore Standard Time (GMT+08:00) Kuala Lumpur, Singapore
W. Australia Standard Time (GMT+08:00) Perth
Taipei Standard Time (GMT+08:00) Taipei
Tokyo Standard Time (GMT+09:00) Osaka, Sapporo, Tokyo
Korea Standard Time (GMT+09:00) Seoul
Yakutsk Standard Time (GMT+09:00) Yakutsk
Cen. Australia Standard Time (GMT+09:30) Adelaide
AUS Central Standard Time (GMT+09:30) Darwin
E. Australia Standard Time (GMT+10:00) Brisbane
AUS Eastern Standard Time (GMT+10:00) Canberra, Melbourne, Sydney
West Pacific Standard Time (GMT+10:00) Guam, Port Moresby
Tasmania Standard Time (GMT+10:00) Hobart
Vladivostok Standard Time (GMT+10:00) Vladivostok
Central Pacific Standard Time (GMT+11:00) Magadan, Solomon Is., New Caledonia
New Zealand Standard Time (GMT+12:00) Auckland, Wellington
Fiji Standard Time (GMT+12:00) Fiji, Kamchatka, Marshall Is.
Tonga Standard Time (GMT+13:00) Nuku’alofa
Azores Standard Time (GMT-01:00) Azores
Cape Verde Standard Time (GMT-01:00) Cape Verde Is.
Mid-Atlantic Standard Time (GMT-02:00) Mid-Atlantic
E. South America Standard Time (GMT-03:00) Brasilia
Argentina Standard Time (GMT-03:00) Buenos Aires
SA Eastern Standard Time (GMT-03:00) Georgetown
Greenland Standard Time (GMT-03:00) Greenland
Montevideo Standard Time (GMT-03:00) Montevideo
Newfoundland Standard Time (GMT-03:30) Newfoundland
Atlantic Standard Time (GMT-04:00) Atlantic Time (Canada)
SA Western Standard Time (GMT-04:00) La Paz
Central Brazilian Standard Time (GMT-04:00) Manaus
Pacific SA Standard Time (GMT-04:00) Santiago
Venezuela Standard Time (GMT-04:30) Caracas
SA Pacific Standard Time (GMT-05:00) Bogota, Lima, Quito, Rio Branco
Eastern Standard Time (GMT-05:00) Eastern Time (US & Canada)
US Eastern Standard Time (GMT-05:00) Indiana (East)
Central America Standard Time (GMT-06:00) Central America
Central Standard Time (GMT-06:00) Central Time (US & Canada)
Central Standard Time (Mexico) (GMT-06:00) Guadalajara, Mexico City, Monterrey – New
Mexico Standard Time (GMT-06:00) Guadalajara, Mexico City, Monterrey – Old
Canada Central Standard Time (GMT-06:00) Saskatchewan
US Mountain Standard Time (GMT-07:00) Arizona
Mountain Standard Time (Mexico) (GMT-07:00) Chihuahua, La Paz, Mazatlan – New
Mexico Standard Time 2 (GMT-07:00) Chihuahua, La Paz, Mazatlan – Old
Mountain Standard Time (GMT-07:00) Mountain Time (US & Canada)
Pacific Standard Time (GMT-08:00) Pacific Time (US & Canada)
Pacific Standard Time (Mexico) (GMT-08:00) Tijuana, Baja California
Alaskan Standard Time (GMT-09:00) Alaska
Hawaiian Standard Time (GMT-10:00) Hawaii
Samoa Standard Time (GMT-11:00) Midway Island, Samoa
Dateline Standard Time (GMT-12:00) International Date Line West

bu listeyi almak için örnek koduda koyalım timezoneinfo konusuda kapansın demi.

<table>
<%
foreach (var item in TimeZoneInfo.GetSystemTimeZones())
{
%>
<tr><td><%=item.Id %></td><td><%=item.DisplayName %></td></tr>
<%
}
%>
</table>