<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Chief of the System Blog</title>
	
	<link>http://remy.supertext.ch</link>
	<description>We should be taught not to wait for inspiration to start a thing. Action always generates inspiration. Inspiration seldom generates action.</description>
	<lastBuildDate>Wed, 02 May 2012 12:30:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ChiefOfTheSystemBlog" /><feedburner:info uri="chiefofthesystemblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>The .NET TimeZoneInfo GetSystemTimeZones() List</title>
		<link>http://feedproxy.google.com/~r/ChiefOfTheSystemBlog/~3/kTGn8h_jEYc/</link>
		<comments>http://remy.supertext.ch/2012/04/the-net-timezoneinfo-getsystemtimezones-list/#comments</comments>
		<pubDate>Fri, 27 Apr 2012 12:21:26 +0000</pubDate>
		<dc:creator>Rémy Blättler</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Localization]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Timezone]]></category>
		<category><![CDATA[utc]]></category>

		<guid isPermaLink="false">http://remy.supertext.ch/?p=384</guid>
		<description><![CDATA[The documentation for TimeZoneInfo.GetSystemTimeZones contains an nice example program that lists all the available Time Zones on your PC. Likely they are the same on most installations. Assuming you didn&#8217;t mess with the Registry. What the documenation does not do, &#8230; <a href="http://remy.supertext.ch/2012/04/the-net-timezoneinfo-getsystemtimezones-list/">[weiterlesen]</a>]]></description>
			<content:encoded><![CDATA[<p>The documentation for <a href="http://msdn.microsoft.com/en-us/library/system.timezoneinfo.getsystemtimezones.aspx">TimeZoneInfo.GetSystemTimeZones</a> contains an nice example program that lists all the available Time Zones on your PC. Likely they are the same on most installations. Assuming you didn&#8217;t mess with the Registry. What the documenation does not do, is list all the different Time Zones, their Name or their properties. But here is the printout for your reference.</p>
<p>&#160;</p>
<table>
<tbody>
<tr>
<td>ID</td>
<td>Dateline Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-12:00) International Date Line West</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Dateline Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Dateline Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-12 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>UTC-11</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-11:00) Coordinated Universal Time-11</td>
</tr>
<tr>
<td>Standard Name</td>
<td>UTC-11</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>UTC-11</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-11 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Hawaiian Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-10:00) Hawaii</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Hawaiian Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Hawaiian Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-10 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Alaskan Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-09:00) Alaska</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Alaskan Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Alaskan Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-9 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>2</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2006 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of April           <br />Ends at 02:00 on Sunday of week 5 of Oktober           <br />From 01.01.2007 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 2 of März           <br />Ends at 02:00 on Sunday of week 1 of November           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Pacific Standard Time (Mexico)</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-08:00) Baja California</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Pacific Standard Time (Mexico)</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Pacific Daylight Time (Mexico)</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-8 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.9999 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of April           <br />Ends at 02:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Pacific Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-08:00) Pacific Time (US &amp; Canada)</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Pacific Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Pacific Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-8 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>2</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2006 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of April           <br />Ends at 02:00 on Sunday of week 5 of Oktober           <br />From 01.01.2007 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 2 of März           <br />Ends at 02:00 on Sunday of week 1 of November           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>US Mountain Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-07:00) Arizona</td>
</tr>
<tr>
<td>Standard Name</td>
<td>US Mountain Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>US Mountain Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-7 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Mountain Standard Time (Mexico)</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-07:00) Chihuahua, La Paz, Mazatlan</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Mountain Standard Time (Mexico)</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Mountain Daylight Time (Mexico)</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-7 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.9999 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of April           <br />Ends at 02:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Mountain Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-07:00) Mountain Time (US &amp; Canada)</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Mountain Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Mountain Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-7 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>2</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2006 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of April           <br />Ends at 02:00 on Sunday of week 5 of Oktober           <br />From 01.01.2007 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 2 of März           <br />Ends at 02:00 on Sunday of week 1 of November           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Central America Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-06:00) Central America</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Central America Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Central America Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-6 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Central Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-06:00) Central Time (US &amp; Canada)</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Central Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Central Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-6 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>2</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2006 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of April           <br />Ends at 02:00 on Sunday of week 5 of Oktober           <br />From 01.01.2007 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 2 of März           <br />Ends at 02:00 on Sunday of week 1 of November           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Central Standard Time (Mexico)</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-06:00) Guadalajara, Mexico City, Monterrey</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Central Standard Time (Mexico)</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Central Daylight Time (Mexico)</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-6 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.9999 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of April           <br />Ends at 02:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Canada Central Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-06:00) Saskatchewan</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Canada Central Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Canada Central Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-6 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>SA Pacific Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-05:00) Bogota, Lima, Quito</td>
</tr>
<tr>
<td>Standard Name</td>
<td>SA Pacific Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>SA Pacific Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-5 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Eastern Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-05:00) Eastern Time (US &amp; Canada)</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Eastern Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Eastern Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-5 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>2</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2006 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of April           <br />Ends at 02:00 on Sunday of week 5 of Oktober           <br />From 01.01.2007 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 2 of März           <br />Ends at 02:00 on Sunday of week 1 of November           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>US Eastern Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-05:00) Indiana (East)</td>
</tr>
<tr>
<td>Standard Name</td>
<td>US Eastern Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>US Eastern Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-5 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>2</td>
</tr>
<tr>
<td colspan="2">From 01.01.2006 00:00:00 to 31.12.2006 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of April           <br />Ends at 02:00 on Sunday of week 5 of Oktober           <br />From 01.01.2007 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 2 of März           <br />Ends at 02:00 on Sunday of week 1 of November           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Venezuela Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-04:30) Caracas</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Venezuela Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Venezuela Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-4 hours, -30 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Paraguay Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-04:00) Asuncion</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Paraguay Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Paraguay Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-4 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>14</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2008 00:00:00          <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 2 of März           <br />From 01.01.2009 00:00:00 to 31.12.2009 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 1 of März           <br />From 01.01.2010 00:00:00 to 31.12.2010 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 1 of Oktober           <br />Ends at 23:59 on Saturday of week 2 of April           <br />From 01.01.2011 00:00:00 to 31.12.2011 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 1 of Oktober           <br />Ends at 23:59 on Saturday of week 2 of April           <br />From 01.01.2012 00:00:00 to 31.12.2012 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 1 of Oktober           <br />Ends at 23:59 on Saturday of week 1 of April           <br />From 01.01.2013 00:00:00 to 31.12.2013 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 1 of Oktober           <br />Ends at 23:59 on Saturday of week 2 of April           <br />From 01.01.2014 00:00:00 to 31.12.2014 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 1 of Oktober           <br />Ends at 23:59 on Saturday of week 2 of April           <br />From 01.01.2015 00:00:00 to 31.12.2015 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 1 of Oktober           <br />Ends at 23:59 on Saturday of week 2 of April           <br />From 01.01.2016 00:00:00 to 31.12.2016 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 1 of Oktober           <br />Ends at 23:59 on Saturday of week 2 of April           <br />From 01.01.2017 00:00:00 to 31.12.2017 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 5 of September           <br />Ends at 23:59 on Saturday of week 2 of April           <br />From 01.01.2018 00:00:00 to 31.12.2018 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 1 of Oktober           <br />Ends at 23:59 on Saturday of week 1 of April           <br />From 01.01.2019 00:00:00 to 31.12.2019 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 1 of Oktober           <br />Ends at 23:59 on Saturday of week 2 of April           <br />From 01.01.2020 00:00:00 to 31.12.2020 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 1 of Oktober           <br />Ends at 23:59 on Saturday of week 2 of April           <br />From 01.01.2021 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 1 of Oktober           <br />Ends at 23:59 on Saturday of week 2 of April           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Atlantic Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-04:00) Atlantic Time (Canada)</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Atlantic Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Atlantic Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-4 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>2</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2006 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of April           <br />Ends at 02:00 on Sunday of week 5 of Oktober           <br />From 01.01.2007 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 2 of März           <br />Ends at 02:00 on Sunday of week 1 of November           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Central Brazilian Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-04:00) Cuiaba</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Central Brazilian Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Central Brazilian Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-4 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>35</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2006 00:00:00          <br />Delta: 01:00:00           <br />Begins at 00:00 on Sunday of week 1 of November           <br />Ends at 02:00 on Sunday of week 2 of Februar           <br />From 01.01.2007 00:00:00 to 31.12.2007 00:00:00           <br />Delta: 01:00:00           <br />Begins at 00:00 on Sunday of week 2 of Oktober           <br />Ends at 00:00 on Sunday of week 5 of Februar           <br />From 01.01.2008 00:00:00 to 31.12.2008 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 00:00 on Sunday of week 3 of Februar           <br />From 01.01.2009 00:00:00 to 31.12.2009 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 2 of Februar           <br />From 01.01.2010 00:00:00 to 31.12.2010 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2011 00:00:00 to 31.12.2011 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2012 00:00:00 to 31.12.2012 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 4 of Februar           <br />From 01.01.2013 00:00:00 to 31.12.2013 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2014 00:00:00 to 31.12.2014 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2015 00:00:00 to 31.12.2015 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2016 00:00:00 to 31.12.2016 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2017 00:00:00 to 31.12.2017 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 2 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2018 00:00:00 to 31.12.2018 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2019 00:00:00 to 31.12.2019 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2020 00:00:00 to 31.12.2020 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2021 00:00:00 to 31.12.2021 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2022 00:00:00 to 31.12.2022 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2023 00:00:00 to 31.12.2023 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 2 of Oktober           <br />Ends at 23:59 on Saturday of week 4 of Februar           <br />From 01.01.2024 00:00:00 to 31.12.2024 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2025 00:00:00 to 31.12.2025 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2026 00:00:00 to 31.12.2026 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2027 00:00:00 to 31.12.2027 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2028 00:00:00 to 31.12.2028 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 2 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2029 00:00:00 to 31.12.2029 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2030 00:00:00 to 31.12.2030 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2031 00:00:00 to 31.12.2031 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2032 00:00:00 to 31.12.2032 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 2 of Februar           <br />From 01.01.2033 00:00:00 to 31.12.2033 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2034 00:00:00 to 31.12.2034 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 2 of Oktober           <br />Ends at 23:59 on Saturday of week 4 of Februar           <br />From 01.01.2035 00:00:00 to 31.12.2035 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2036 00:00:00 to 31.12.2036 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2037 00:00:00 to 31.12.2037 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2038 00:00:00 to 31.12.2038 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2039 00:00:00 to 31.12.2039 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 4 of Februar           <br />From 01.01.2040 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>SA Western Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-04:00) Georgetown, La Paz, Manaus, San Juan</td>
</tr>
<tr>
<td>Standard Name</td>
<td>SA Western Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>SA Western Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-4 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Pacific SA Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-04:00) Santiago</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Pacific SA Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Pacific SA Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-4 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>6</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2007 00:00:00          <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 2 of Oktober           <br />Ends at 23:59 on Saturday of week 2 of März           <br />From 01.01.2008 00:00:00 to 31.12.2008 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 2 of Oktober           <br />Ends at 23:59 on Saturday of week 5 of März           <br />From 01.01.2009 00:00:00 to 31.12.2009 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 2 of Oktober           <br />Ends at 23:59 on Saturday of week 2 of März           <br />From 01.01.2010 00:00:00 to 31.12.2010 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 2 of Oktober           <br />Ends at 23:59 on Saturday of week 1 of April           <br />From 01.01.2011 00:00:00 to 31.12.2011 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of August           <br />Ends at 23:59 on Saturday of week 1 of Mai           <br />From 01.01.2012 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 2 of Oktober           <br />Ends at 23:59 on Saturday of week 2 of März           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Newfoundland Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-03:30) Newfoundland</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Newfoundland Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Newfoundland Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-3 hours, -30 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>7</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2006 00:00:00          <br />Delta: 01:00:00           <br />Begins at 00:01 on Sunday of week 1 of April           <br />Ends at 00:01 on Sunday of week 5 of Oktober           <br />From 01.01.2007 00:00:00 to 31.12.2007 00:00:00           <br />Delta: 01:00:00           <br />Begins at 00:01 on Sunday of week 2 of März           <br />Ends at 00:01 on Sunday of week 1 of November           <br />From 01.01.2008 00:00:00 to 31.12.2008 00:00:00           <br />Delta: 01:00:00           <br />Begins at 00:01 on Sunday of week 2 of März           <br />Ends at 00:01 on Sunday of week 1 of November           <br />From 01.01.2009 00:00:00 to 31.12.2009 00:00:00           <br />Delta: 01:00:00           <br />Begins at 00:01 on Sunday of week 2 of März           <br />Ends at 00:01 on Sunday of week 1 of November           <br />From 01.01.2010 00:00:00 to 31.12.2010 00:00:00           <br />Delta: 01:00:00           <br />Begins at 00:01 on Sunday of week 2 of März           <br />Ends at 00:01 on Sunday of week 1 of November           <br />From 01.01.2011 00:00:00 to 31.12.2011 00:00:00           <br />Delta: 01:00:00           <br />Begins at 00:01 on Sunday of week 2 of März           <br />Ends at 02:00 on Sunday of week 1 of November           <br />From 01.01.2012 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 2 of März           <br />Ends at 02:00 on Sunday of week 1 of November           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>E. South America Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-03:00) Brasilia</td>
</tr>
<tr>
<td>Standard Name</td>
<td>E. South America Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>E. South America Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-3 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>35</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2006 00:00:00          <br />Delta: 01:00:00           <br />Begins at 00:00 on Sunday of week 1 of November           <br />Ends at 02:00 on Sunday of week 2 of Februar           <br />From 01.01.2007 00:00:00 to 31.12.2007 00:00:00           <br />Delta: 01:00:00           <br />Begins at 00:00 on Sunday of week 2 of Oktober           <br />Ends at 00:00 on Sunday of week 5 of Februar           <br />From 01.01.2008 00:00:00 to 31.12.2008 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 00:00 on Sunday of week 3 of Februar           <br />From 01.01.2009 00:00:00 to 31.12.2009 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 2 of Februar           <br />From 01.01.2010 00:00:00 to 31.12.2010 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2011 00:00:00 to 31.12.2011 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2012 00:00:00 to 31.12.2012 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 4 of Februar           <br />From 01.01.2013 00:00:00 to 31.12.2013 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2014 00:00:00 to 31.12.2014 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2015 00:00:00 to 31.12.2015 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2016 00:00:00 to 31.12.2016 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2017 00:00:00 to 31.12.2017 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 2 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2018 00:00:00 to 31.12.2018 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2019 00:00:00 to 31.12.2019 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2020 00:00:00 to 31.12.2020 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2021 00:00:00 to 31.12.2021 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2022 00:00:00 to 31.12.2022 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2023 00:00:00 to 31.12.2023 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 2 of Oktober           <br />Ends at 23:59 on Saturday of week 4 of Februar           <br />From 01.01.2024 00:00:00 to 31.12.2024 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2025 00:00:00 to 31.12.2025 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2026 00:00:00 to 31.12.2026 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2027 00:00:00 to 31.12.2027 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2028 00:00:00 to 31.12.2028 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 2 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2029 00:00:00 to 31.12.2029 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2030 00:00:00 to 31.12.2030 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2031 00:00:00 to 31.12.2031 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2032 00:00:00 to 31.12.2032 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 2 of Februar           <br />From 01.01.2033 00:00:00 to 31.12.2033 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2034 00:00:00 to 31.12.2034 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 2 of Oktober           <br />Ends at 23:59 on Saturday of week 4 of Februar           <br />From 01.01.2035 00:00:00 to 31.12.2035 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2036 00:00:00 to 31.12.2036 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2037 00:00:00 to 31.12.2037 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2038 00:00:00 to 31.12.2038 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2039 00:00:00 to 31.12.2039 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 4 of Februar           <br />From 01.01.2040 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Argentina Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-03:00) Buenos Aires</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Argentina Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Argentina Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-3 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>3</td>
</tr>
<tr>
<td colspan="2">From 01.01.2007 00:00:00 to 31.12.2007 00:00:00          <br />Delta: 01:00:00           <br />Begins at 00:00 on Sunday of week 5 of Dezember           <br />Ends at 00:00 on Monday of week 1 of Januar           <br />From 01.01.2008 00:00:00 to 31.12.2008 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 00:00 on Sunday of week 3 of März           <br />From 01.01.2009 00:00:00 to 31.12.2009 00:00:00           <br />Delta: 01:00:00           <br />Begins at 00:00 on Thursday of week 1 of Januar           <br />Ends at 23:59 on Saturday of week 2 of März           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>SA Eastern Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-03:00) Cayenne, Fortaleza</td>
</tr>
<tr>
<td>Standard Name</td>
<td>SA Eastern Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>SA Eastern Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-3 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Greenland Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-03:00) Greenland</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Greenland Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Greenland Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-3 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>14</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2008 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of April           <br />Ends at 02:00 on Sunday of week 5 of Oktober           <br />From 01.01.2009 00:00:00 to 31.12.2009 00:00:00           <br />Delta: 01:00:00           <br />Begins at 22:00 on Saturday of week 5 of März           <br />Ends at 23:00 on Saturday of week 4 of Oktober           <br />From 01.01.2010 00:00:00 to 31.12.2010 00:00:00           <br />Delta: 01:00:00           <br />Begins at 22:00 on Saturday of week 5 of März           <br />Ends at 23:00 on Saturday of week 5 of Oktober           <br />From 01.01.2011 00:00:00 to 31.12.2011 00:00:00           <br />Delta: 01:00:00           <br />Begins at 22:00 on Saturday of week 5 of März           <br />Ends at 23:00 on Saturday of week 5 of Oktober           <br />From 01.01.2012 00:00:00 to 31.12.2012 00:00:00           <br />Delta: 01:00:00           <br />Begins at 22:00 on Saturday of week 4 of März           <br />Ends at 23:00 on Saturday of week 5 of Oktober           <br />From 01.01.2013 00:00:00 to 31.12.2013 00:00:00           <br />Delta: 01:00:00           <br />Begins at 22:00 on Saturday of week 5 of März           <br />Ends at 23:00 on Saturday of week 5 of Oktober           <br />From 01.01.2014 00:00:00 to 31.12.2014 00:00:00           <br />Delta: 01:00:00           <br />Begins at 22:00 on Saturday of week 5 of März           <br />Ends at 23:00 on Saturday of week 5 of Oktober           <br />From 01.01.2015 00:00:00 to 31.12.2015 00:00:00           <br />Delta: 01:00:00           <br />Begins at 22:00 on Saturday of week 5 of März           <br />Ends at 23:00 on Saturday of week 4 of Oktober           <br />From 01.01.2016 00:00:00 to 31.12.2016 00:00:00           <br />Delta: 01:00:00           <br />Begins at 22:00 on Saturday of week 5 of März           <br />Ends at 23:00 on Saturday of week 5 of Oktober           <br />From 01.01.2017 00:00:00 to 31.12.2017 00:00:00           <br />Delta: 01:00:00           <br />Begins at 22:00 on Saturday of week 5 of März           <br />Ends at 23:00 on Saturday of week 5 of Oktober           <br />From 01.01.2018 00:00:00 to 31.12.2018 00:00:00           <br />Delta: 01:00:00           <br />Begins at 22:00 on Saturday of week 4 of März           <br />Ends at 23:00 on Saturday of week 5 of Oktober           <br />From 01.01.2019 00:00:00 to 31.12.2019 00:00:00           <br />Delta: 01:00:00           <br />Begins at 22:00 on Saturday of week 5 of März           <br />Ends at 23:00 on Saturday of week 5 of Oktober           <br />From 01.01.2020 00:00:00 to 31.12.2020 00:00:00           <br />Delta: 01:00:00           <br />Begins at 22:00 on Saturday of week 5 of März           <br />Ends at 23:00 on Saturday of week 4 of Oktober           <br />From 01.01.2021 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 22:00 on Saturday of week 5 of März           <br />Ends at 23:00 on Saturday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Montevideo Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-03:00) Montevideo</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Montevideo Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Montevideo Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-3 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>2</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2006 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 2 of September           <br />Ends at 02:00 on Sunday of week 2 of März           <br />From 01.01.2007 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of Oktober           <br />Ends at 02:00 on Sunday of week 2 of März           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Bahia Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-03:00) Salvador</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Bahia Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Bahia Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-3 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>30</td>
</tr>
<tr>
<td colspan="2">From 01.01.2011 00:00:00 to 31.12.2011 00:00:00          <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 00:00 on Saturday of week 1 of Januar           <br />From 01.01.2012 00:00:00 to 31.12.2012 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 4 of Februar           <br />From 01.01.2013 00:00:00 to 31.12.2013 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2014 00:00:00 to 31.12.2014 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2015 00:00:00 to 31.12.2015 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2016 00:00:00 to 31.12.2016 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2017 00:00:00 to 31.12.2017 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 2 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2018 00:00:00 to 31.12.2018 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2019 00:00:00 to 31.12.2019 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2020 00:00:00 to 31.12.2020 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2021 00:00:00 to 31.12.2021 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2022 00:00:00 to 31.12.2022 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2023 00:00:00 to 31.12.2023 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 2 of Oktober           <br />Ends at 23:59 on Saturday of week 4 of Februar           <br />From 01.01.2024 00:00:00 to 31.12.2024 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2025 00:00:00 to 31.12.2025 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2026 00:00:00 to 31.12.2026 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2027 00:00:00 to 31.12.2027 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2028 00:00:00 to 31.12.2028 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 2 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2029 00:00:00 to 31.12.2029 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2030 00:00:00 to 31.12.2030 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2031 00:00:00 to 31.12.2031 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2032 00:00:00 to 31.12.2032 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 2 of Februar           <br />From 01.01.2033 00:00:00 to 31.12.2033 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2034 00:00:00 to 31.12.2034 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 2 of Oktober           <br />Ends at 23:59 on Saturday of week 4 of Februar           <br />From 01.01.2035 00:00:00 to 31.12.2035 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2036 00:00:00 to 31.12.2036 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2037 00:00:00 to 31.12.2037 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2038 00:00:00 to 31.12.2038 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           <br />From 01.01.2039 00:00:00 to 31.12.2039 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 4 of Februar           <br />From 01.01.2040 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of Oktober           <br />Ends at 23:59 on Saturday of week 3 of Februar           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>UTC-02</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-02:00) Coordinated Universal Time-02</td>
</tr>
<tr>
<td>Standard Name</td>
<td>UTC-02</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>UTC-02</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-2 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Mid-Atlantic Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-02:00) Mid-Atlantic</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Mid-Atlantic Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Mid-Atlantic Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-2 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.9999 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of März           <br />Ends at 02:00 on Sunday of week 5 of September           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Azores Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-01:00) Azores</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Azores Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Azores Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-1 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.9999 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of März           <br />Ends at 03:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Cape Verde Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC-01:00) Cape Verde Is.</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Cape Verde Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Cape Verde Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>-1 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Morocco Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC) Casablanca</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Morocco Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Morocco Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>0 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>4</td>
</tr>
<tr>
<td colspan="2">From 01.01.2008 00:00:00 to 31.12.2008 00:00:00          <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 5 of Mai           <br />Ends at 23:59 on Sunday of week 5 of August           <br />From 01.01.2009 00:00:00 to 31.12.2009 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Sunday of week 5 of Mai           <br />Ends at 23:59 on Thursday of week 3 of August           <br />From 01.01.2010 00:00:00 to 31.12.2010 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 1 of Mai           <br />Ends at 23:59 on Saturday of week 1 of August           <br />From 01.01.2011 00:00:00 to 31.12.2011 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 1 of April           <br />Ends at 23:59 on Saturday of week 5 of Juli           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>UTC</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC) Coordinated Universal Time</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Coordinated Universal Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Coordinated Universal Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>0 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>GMT Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC) Dublin, Edinburgh, Lisbon, London</td>
</tr>
<tr>
<td>Standard Name</td>
<td>GMT Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>GMT Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>0 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.9999 00:00:00          <br />Delta: 01:00:00           <br />Begins at 01:00 on Sunday of week 5 of März           <br />Ends at 02:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Greenwich Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC) Monrovia, Reykjavik</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Greenwich Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Greenwich Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>0 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>W. Europe Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna</td>
</tr>
<tr>
<td>Standard Name</td>
<td>W. Europe Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>W. Europe Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>1 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.9999 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of März           <br />Ends at 03:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Central Europe Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Central Europe Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Central Europe Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>1 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.9999 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of März           <br />Ends at 03:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Romance Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+01:00) Brussels, Copenhagen, Madrid, Paris</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Romance Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Romance Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>1 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.9999 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of März           <br />Ends at 03:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Central European Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Central European Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Central European Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>1 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.9999 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of März           <br />Ends at 03:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>W. Central Africa Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+01:00) West Central Africa</td>
</tr>
<tr>
<td>Standard Name</td>
<td>W. Central Africa Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>W. Central Africa Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>1 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Namibia Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+01:00) Windhoek</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Namibia Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Namibia Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>1 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>2</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2010 00:00:00          <br />Delta: -01:00:00           <br />Begins at 02:00 on Sunday of week 1 of April           <br />Ends at 02:00 on Sunday of week 1 of September           <br />From 01.01.2011 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of September           <br />Ends at 02:00 on Sunday of week 1 of April           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Jordan Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+02:00) Amman</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Jordan Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Jordan Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>2 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>2</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2006 00:00:00          <br />Delta: 01:00:00           <br />Begins at 00:00 on Thursday of week 5 of März           <br />Ends at 01:00 on Friday of week 5 of September           <br />From 01.01.2007 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Thursday of week 5 of März           <br />Ends at 01:00 on Friday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>GTB Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+02:00) Athens, Bucharest</td>
</tr>
<tr>
<td>Standard Name</td>
<td>GTB Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>GTB Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>2 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.9999 00:00:00          <br />Delta: 01:00:00           <br />Begins at 03:00 on Sunday of week 5 of März           <br />Ends at 04:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Middle East Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+02:00) Beirut</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Middle East Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Middle East Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>2 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>13</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2009 00:00:00          <br />Delta: 01:00:00           <br />Begins at 00:00 on Sunday of week 5 of März           <br />Ends at 00:00 on Sunday of week 5 of Oktober           <br />From 01.01.2010 00:00:00 to 31.12.2010 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 5 of März           <br />Ends at 23:59 on Saturday of week 5 of Oktober           <br />From 01.01.2011 00:00:00 to 31.12.2011 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 5 of März           <br />Ends at 23:59 on Saturday of week 5 of Oktober           <br />From 01.01.2012 00:00:00 to 31.12.2012 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 4 of März           <br />Ends at 23:59 on Saturday of week 5 of Oktober           <br />From 01.01.2013 00:00:00 to 31.12.2013 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 5 of März           <br />Ends at 23:59 on Saturday of week 5 of Oktober           <br />From 01.01.2014 00:00:00 to 31.12.2014 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 5 of März           <br />Ends at 23:59 on Saturday of week 5 of Oktober           <br />From 01.01.2015 00:00:00 to 31.12.2015 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 5 of März           <br />Ends at 23:59 on Saturday of week 4 of Oktober           <br />From 01.01.2016 00:00:00 to 31.12.2016 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 5 of März           <br />Ends at 23:59 on Saturday of week 5 of Oktober           <br />From 01.01.2017 00:00:00 to 31.12.2017 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 5 of März           <br />Ends at 23:59 on Saturday of week 5 of Oktober           <br />From 01.01.2018 00:00:00 to 31.12.2018 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 4 of März           <br />Ends at 23:59 on Saturday of week 5 of Oktober           <br />From 01.01.2019 00:00:00 to 31.12.2019 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 5 of März           <br />Ends at 23:59 on Saturday of week 5 of Oktober           <br />From 01.01.2020 00:00:00 to 31.12.2020 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 5 of März           <br />Ends at 23:59 on Saturday of week 4 of Oktober           <br />From 01.01.2021 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 5 of März           <br />Ends at 23:59 on Saturday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Egypt Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+02:00) Cairo</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Egypt Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Egypt Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>2 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>6</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2005 00:00:00          <br />Delta: 01:00:00           <br />Begins at 00:00 on Friday of week 5 of April           <br />Ends at 23:59 on Thursday of week 5 of September           <br />From 01.01.2006 00:00:00 to 31.12.2006 00:00:00           <br />Delta: 01:00:00           <br />Begins at 00:00 on Friday of week 5 of April           <br />Ends at 23:59 on Thursday of week 3 of September           <br />From 01.01.2007 00:00:00 to 31.12.2007 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Thursday of week 5 of April           <br />Ends at 23:59 on Thursday of week 1 of September           <br />From 01.01.2008 00:00:00 to 31.12.2008 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Thursday of week 5 of April           <br />Ends at 23:59 on Thursday of week 5 of August           <br />From 01.01.2009 00:00:00 to 31.12.2009 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Thursday of week 4 of April           <br />Ends at 23:59 on Thursday of week 3 of August           <br />From 01.01.2010 00:00:00 to 31.12.2010 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Thursday of week 5 of April           <br />Ends at 23:59 on Thursday of week 5 of September           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Syria Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+02:00) Damascus</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Syria Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Syria Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>2 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>12</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2006 00:00:00          <br />Delta: 01:00:00           <br />Begins at 23:59 on Friday of week 5 of März           <br />Ends at 23:59 on Wednesday of week 3 of September           <br />From 01.01.2007 00:00:00 to 31.12.2007 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Thursday of week 5 of März           <br />Ends at 23:59 on Thursday of week 1 of November           <br />From 01.01.2008 00:00:00 to 31.12.2008 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Thursday of week 1 of April           <br />Ends at 23:59 on Friday of week 5 of Oktober           <br />From 01.01.2009 00:00:00 to 31.12.2009 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Thursday of week 5 of März           <br />Ends at 23:59 on Thursday of week 5 of Oktober           <br />From 01.01.2010 00:00:00 to 31.12.2010 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Thursday of week 1 of April           <br />Ends at 23:59 on Thursday of week 5 of Oktober           <br />From 01.01.2011 00:00:00 to 31.12.2011 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Thursday of week 5 of März           <br />Ends at 23:59 on Thursday of week 5 of Oktober           <br />From 01.01.2012 00:00:00 to 31.12.2012 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Thursday of week 1 of April           <br />Ends at 23:59 on Thursday of week 5 of Oktober           <br />From 01.01.2013 00:00:00 to 31.12.2013 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Thursday of week 1 of April           <br />Ends at 23:59 on Thursday of week 5 of Oktober           <br />From 01.01.2014 00:00:00 to 31.12.2014 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Thursday of week 1 of April           <br />Ends at 23:59 on Thursday of week 5 of Oktober           <br />From 01.01.2015 00:00:00 to 31.12.2015 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Thursday of week 1 of April           <br />Ends at 23:59 on Thursday of week 5 of Oktober           <br />From 01.01.2016 00:00:00 to 31.12.2016 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Thursday of week 5 of März           <br />Ends at 23:59 on Thursday of week 5 of Oktober           <br />From 01.01.2017 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Thursday of week 1 of April           <br />Ends at 23:59 on Thursday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>South Africa Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+02:00) Harare, Pretoria</td>
</tr>
<tr>
<td>Standard Name</td>
<td>South Africa Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>South Africa Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>2 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>FLE Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius</td>
</tr>
<tr>
<td>Standard Name</td>
<td>FLE Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>FLE Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>2 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.9999 00:00:00          <br />Delta: 01:00:00           <br />Begins at 03:00 on Sunday of week 5 of März           <br />Ends at 04:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Turkey Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+02:00) Istanbul</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Turkey Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Turkey Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>2 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>3</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2010 00:00:00          <br />Delta: 01:00:00           <br />Begins at 03:00 on Sunday of week 5 of März           <br />Ends at 04:00 on Sunday of week 5 of Oktober           <br />From 01.01.2011 00:00:00 to 31.12.2011 00:00:00           <br />Delta: 01:00:00           <br />Begins at 03:00 on Monday of week 5 of März           <br />Ends at 04:00 on Sunday of week 5 of Oktober           <br />From 01.01.2012 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 03:00 on Sunday of week 5 of März           <br />Ends at 04:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Israel Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+02:00) Jerusalem</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Jerusalem Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Jerusalem Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>2 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>18</td>
</tr>
<tr>
<td colspan="2">From 01.01.2005 00:00:00 to 31.12.2005 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Friday of week 1 of April           <br />Ends at 02:00 on Sunday of week 2 of Oktober           <br />From 01.01.2006 00:00:00 to 31.12.2006 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Friday of week 5 of März           <br />Ends at 02:00 on Sunday of week 1 of Oktober           <br />From 01.01.2007 00:00:00 to 31.12.2007 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Friday of week 5 of März           <br />Ends at 02:00 on Sunday of week 3 of September           <br />From 01.01.2008 00:00:00 to 31.12.2008 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Friday of week 5 of März           <br />Ends at 02:00 on Sunday of week 1 of Oktober           <br />From 01.01.2009 00:00:00 to 31.12.2009 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Friday of week 5 of März           <br />Ends at 02:00 on Sunday of week 5 of September           <br />From 01.01.2010 00:00:00 to 31.12.2010 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Friday of week 5 of März           <br />Ends at 02:00 on Sunday of week 2 of September           <br />From 01.01.2011 00:00:00 to 31.12.2011 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Friday of week 1 of April           <br />Ends at 02:00 on Sunday of week 1 of Oktober           <br />From 01.01.2012 00:00:00 to 31.12.2012 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Friday of week 5 of März           <br />Ends at 02:00 on Sunday of week 4 of September           <br />From 01.01.2013 00:00:00 to 31.12.2013 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Friday of week 5 of März           <br />Ends at 02:00 on Sunday of week 2 of September           <br />From 01.01.2014 00:00:00 to 31.12.2014 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Friday of week 5 of März           <br />Ends at 02:00 on Sunday of week 4 of September           <br />From 01.01.2015 00:00:00 to 31.12.2015 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Friday of week 5 of März           <br />Ends at 02:00 on Sunday of week 3 of September           <br />From 01.01.2016 00:00:00 to 31.12.2016 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Friday of week 1 of April           <br />Ends at 02:00 on Sunday of week 2 of Oktober           <br />From 01.01.2017 00:00:00 to 31.12.2017 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Friday of week 5 of März           <br />Ends at 02:00 on Sunday of week 4 of September           <br />From 01.01.2018 00:00:00 to 31.12.2018 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Friday of week 5 of März           <br />Ends at 02:00 on Sunday of week 3 of September           <br />From 01.01.2019 00:00:00 to 31.12.2019 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Friday of week 5 of März           <br />Ends at 02:00 on Sunday of week 1 of Oktober           <br />From 01.01.2020 00:00:00 to 31.12.2020 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Friday of week 5 of März           <br />Ends at 02:00 on Sunday of week 4 of September           <br />From 01.01.2021 00:00:00 to 31.12.2021 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Friday of week 5 of März           <br />Ends at 02:00 on Sunday of week 2 of September           <br />From 01.01.2022 00:00:00 to 31.12.2022 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Friday of week 1 of April           <br />Ends at 02:00 on Sunday of week 1 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>E. Europe Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+02:00) Nicosia</td>
</tr>
<tr>
<td>Standard Name</td>
<td>E. Europe Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>E. Europe Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>2 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.9999 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of März           <br />Ends at 03:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Arabic Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+03:00) Baghdad</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Arabic Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Arabic Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>3 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>2</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2006 00:00:00          <br />Delta: 01:00:00           <br />Begins at 03:00 on Sunday of week 1 of April           <br />Ends at 04:00 on Sunday of week 1 of Oktober           <br />From 01.01.2007 00:00:00 to 31.12.2007 00:00:00           <br />Delta: 01:00:00           <br />Begins at 03:00 on Sunday of week 1 of April           <br />Ends at 04:00 on Monday of week 1 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Kaliningrad Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+03:00) Kaliningrad, Minsk</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Kaliningrad Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Kaliningrad Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>3 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2010 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of März           <br />Ends at 03:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Arab Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+03:00) Kuwait, Riyadh</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Arab Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Arab Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>3 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>E. Africa Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+03:00) Nairobi</td>
</tr>
<tr>
<td>Standard Name</td>
<td>E. Africa Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>E. Africa Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>3 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Iran Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+03:30) Tehran</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Iran Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Iran Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>3 hours, 30 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>3</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2005 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of März           <br />Ends at 02:00 on Tuesday of week 4 of September           <br />From 01.01.2008 00:00:00 to 31.12.2008 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Thursday of week 3 of März           <br />Ends at 23:59 on Saturday of week 3 of September           <br />From 01.01.2009 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 3 of März           <br />Ends at 23:59 on Monday of week 3 of September           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Arabian Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+04:00) Abu Dhabi, Muscat</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Arabian Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Arabian Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>4 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Azerbaijan Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+04:00) Baku</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Azerbaijan Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Azerbaijan Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>4 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.9999 00:00:00          <br />Delta: 01:00:00           <br />Begins at 04:00 on Sunday of week 5 of März           <br />Ends at 05:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Russian Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+04:00) Moscow, St. Petersburg, Volgograd</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Russian Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Russian Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>4 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2010 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of März           <br />Ends at 03:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Mauritius Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+04:00) Port Louis</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Mauritius Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Mauritius Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>4 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>2</td>
</tr>
<tr>
<td colspan="2">From 01.01.2008 00:00:00 to 31.12.2008 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of Oktober           <br />Ends at 00:00 on Tuesday of week 1 of Januar           <br />From 01.01.2009 00:00:00 to 31.12.2009 00:00:00           <br />Delta: 01:00:00           <br />Begins at 00:00 on Thursday of week 1 of Januar           <br />Ends at 02:00 on Sunday of week 5 of März           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Georgian Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+04:00) Tbilisi</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Georgian Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Georgian Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>4 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Caucasus Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+04:00) Yerevan</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Caucasus Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Caucasus Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>4 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.9999 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of März           <br />Ends at 03:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Afghanistan Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+04:30) Kabul</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Afghanistan Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Afghanistan Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>4 hours, 30 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Pakistan Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+05:00) Islamabad, Karachi</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Pakistan Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Pakistan Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>5 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>2</td>
</tr>
<tr>
<td colspan="2">From 01.01.2008 00:00:00 to 31.12.2008 00:00:00          <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 5 of Mai           <br />Ends at 23:59 on Friday of week 5 of Oktober           <br />From 01.01.2009 00:00:00 to 31.12.2009 00:00:00           <br />Delta: 01:00:00           <br />Begins at 23:59 on Tuesday of week 2 of April           <br />Ends at 23:59 on Saturday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>West Asia Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+05:00) Tashkent</td>
</tr>
<tr>
<td>Standard Name</td>
<td>West Asia Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>West Asia Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>5 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>India Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi</td>
</tr>
<tr>
<td>Standard Name</td>
<td>India Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>India Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>5 hours, 30 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Sri Lanka Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+05:30) Sri Jayawardenepura</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Sri Lanka Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Sri Lanka Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>5 hours, 30 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Nepal Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+05:45) Kathmandu</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Nepal Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Nepal Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>5 hours, 45 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Central Asia Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+06:00) Astana</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Central Asia Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Central Asia Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>6 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Bangladesh Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+06:00) Dhaka</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Bangladesh Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Bangladesh Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>6 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.2009 00:00:00 to 31.12.2009 00:00:00          <br />Delta: 01:00:00           <br />Begins at 23:00 on Friday of week 3 of Juni           <br />Ends at 23:59 on Thursday of week 5 of Dezember           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Ekaterinburg Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+06:00) Ekaterinburg</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Ekaterinburg Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Ekaterinburg Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>6 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2010 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of März           <br />Ends at 03:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Myanmar Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+06:30) Yangon (Rangoon)</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Myanmar Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Myanmar Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>6 hours, 30 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>SE Asia Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+07:00) Bangkok, Hanoi, Jakarta</td>
</tr>
<tr>
<td>Standard Name</td>
<td>SE Asia Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>SE Asia Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>7 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>N. Central Asia Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+07:00) Novosibirsk</td>
</tr>
<tr>
<td>Standard Name</td>
<td>N. Central Asia Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>N. Central Asia Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>7 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2010 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of März           <br />Ends at 03:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>China Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi</td>
</tr>
<tr>
<td>Standard Name</td>
<td>China Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>China Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>8 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>North Asia Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+08:00) Krasnoyarsk</td>
</tr>
<tr>
<td>Standard Name</td>
<td>North Asia Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>North Asia Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>8 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2010 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of März           <br />Ends at 03:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Singapore Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+08:00) Kuala Lumpur, Singapore</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Malay Peninsula Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Malay Peninsula Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>8 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>W. Australia Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+08:00) Perth</td>
</tr>
<tr>
<td>Standard Name</td>
<td>W. Australia Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>W. Australia Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>8 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>4</td>
</tr>
<tr>
<td colspan="2">From 01.01.2006 00:00:00 to 31.12.2006 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of Dezember           <br />Ends at 00:00 on Sunday of week 1 of Januar           <br />From 01.01.2007 00:00:00 to 31.12.2007 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of Oktober           <br />Ends at 03:00 on Sunday of week 5 of März           <br />From 01.01.2008 00:00:00 to 31.12.2008 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of Oktober           <br />Ends at 03:00 on Sunday of week 5 of März           <br />From 01.01.2009 00:00:00 to 31.12.2009 00:00:00           <br />Delta: 01:00:00           <br />Begins at 00:00 on Thursday of week 1 of Januar           <br />Ends at 03:00 on Sunday of week 5 of März           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Taipei Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+08:00) Taipei</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Taipei Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Taipei Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>8 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Ulaanbaatar Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+08:00) Ulaanbaatar</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Ulaanbaatar Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Ulaanbaatar Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>8 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>North Asia East Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+09:00) Irkutsk</td>
</tr>
<tr>
<td>Standard Name</td>
<td>North Asia East Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>North Asia East Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>9 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2010 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of März           <br />Ends at 03:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Tokyo Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+09:00) Osaka, Sapporo, Tokyo</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Tokyo Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Tokyo Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>9 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Korea Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+09:00) Seoul</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Korea Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Korea Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>9 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Cen. Australia Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+09:30) Adelaide</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Cen. Australia Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Cen. Australia Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>9 hours, 30 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>2</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2007 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of Oktober           <br />Ends at 03:00 on Sunday of week 5 of März           <br />From 01.01.2008 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of Oktober           <br />Ends at 03:00 on Sunday of week 1 of April           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>AUS Central Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+09:30) Darwin</td>
</tr>
<tr>
<td>Standard Name</td>
<td>AUS Central Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>AUS Central Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>9 hours, 30 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>E. Australia Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+10:00) Brisbane</td>
</tr>
<tr>
<td>Standard Name</td>
<td>E. Australia Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>E. Australia Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>10 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>AUS Eastern Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+10:00) Canberra, Melbourne, Sydney</td>
</tr>
<tr>
<td>Standard Name</td>
<td>AUS Eastern Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>AUS Eastern Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>10 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>2</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2007 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of Oktober           <br />Ends at 03:00 on Sunday of week 5 of März           <br />From 01.01.2008 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of Oktober           <br />Ends at 03:00 on Sunday of week 1 of April           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>West Pacific Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+10:00) Guam, Port Moresby</td>
</tr>
<tr>
<td>Standard Name</td>
<td>West Pacific Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>West Pacific Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>10 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Tasmania Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+10:00) Hobart</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Tasmania Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Tasmania Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>10 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>2</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2007 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of Oktober           <br />Ends at 03:00 on Sunday of week 5 of März           <br />From 01.01.2008 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of Oktober           <br />Ends at 03:00 on Sunday of week 1 of April           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Yakutsk Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+10:00) Yakutsk</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Yakutsk Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Yakutsk Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>10 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2010 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of März           <br />Ends at 03:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Central Pacific Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+11:00) Solomon Is., New Caledonia</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Central Pacific Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Central Pacific Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>11 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Vladivostok Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+11:00) Vladivostok</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Vladivostok Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Vladivostok Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>11 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2010 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of März           <br />Ends at 03:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>New Zealand Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+12:00) Auckland, Wellington</td>
</tr>
<tr>
<td>Standard Name</td>
<td>New Zealand Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>New Zealand Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>12 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>3</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2006 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 1 of Oktober           <br />Ends at 03:00 on Sunday of week 3 of März           <br />From 01.01.2007 00:00:00 to 31.12.2007 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of September           <br />Ends at 03:00 on Sunday of week 3 of März           <br />From 01.01.2008 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of September           <br />Ends at 03:00 on Sunday of week 1 of April           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>UTC+12</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+12:00) Coordinated Universal Time+12</td>
</tr>
<tr>
<td>Standard Name</td>
<td>UTC+12</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>UTC+12</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>12 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Fiji Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+12:00) Fiji</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Fiji Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Fiji Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>12 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>5</td>
</tr>
<tr>
<td colspan="2">From 01.01.2009 00:00:00 to 31.12.2009 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of November           <br />Ends at 00:00 on Thursday of week 1 of Januar           <br />From 01.01.2010 00:00:00 to 31.12.2010 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 4 of Oktober           <br />Ends at 03:00 on Sunday of week 5 of März           <br />From 01.01.2011 00:00:00 to 31.12.2011 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 4 of Oktober           <br />Ends at 03:00 on Sunday of week 1 of März           <br />From 01.01.2012 00:00:00 to 31.12.2012 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 4 of Oktober           <br />Ends at 03:00 on Sunday of week 4 of Januar           <br />From 01.01.2013 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 4 of Oktober           <br />Ends at 03:00 on Sunday of week 1 of März           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Magadan Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+12:00) Magadan</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Magadan Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Magadan Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>12 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.2010 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of März           <br />Ends at 03:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Kamchatka Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+12:00) Petropavlovsk-Kamchatsky &#8211; Old</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Kamchatka Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Kamchatka Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>12 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>1</td>
</tr>
<tr>
<td colspan="2">From 01.01.0001 00:00:00 to 31.12.9999 00:00:00          <br />Delta: 01:00:00           <br />Begins at 02:00 on Sunday of week 5 of März           <br />Ends at 03:00 on Sunday of week 5 of Oktober           </td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Tonga Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+13:00) Nuku&#8217;alofa</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Tonga Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Tonga Daylight Time</td>
</tr>
<tr>
<td colspan="2">Does Not Have Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>13 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>0</td>
</tr>
<tr>
<td colspan="2">
<hr /></td>
</tr>
<tr>
<td>ID</td>
<td>Samoa Standard Time</td>
</tr>
<tr>
<td>Display Name</td>
<td>(UTC+13:00) Samoa</td>
</tr>
<tr>
<td>Standard Name</td>
<td>Samoa Standard Time</td>
</tr>
<tr>
<td>Daylight Name</td>
<td>Samoa Daylight Time</td>
</tr>
<tr>
<td colspan="2">Has Daylight Saving Time</td>
</tr>
<tr>
<td>Offset from UTC</td>
<td>13 hours, 0 minutes</td>
</tr>
<tr>
<td>Adjustment rules</td>
<td>2</td>
</tr>
<tr>
<td colspan="2">From 01.01.2010 00:00:00 to 31.12.2010 00:00:00          <br />Delta: 01:00:00           <br />Begins at 23:59 on Saturday of week 5 of September           <br />Ends at 00:00 on Friday of week 1 of Januar           <br />From 01.01.2011 00:00:00 to 31.12.9999 00:00:00           <br />Delta: 01:00:00           <br />Begins at 00:00 on Sunday of week 5 of September           <br />Ends at 01:00 on Sunday of week 1 of April           </td>
</tr>
<tr>
<td colspan="2">       </td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>Hope this helped a few people. </p>
<img src="http://feeds.feedburner.com/~r/ChiefOfTheSystemBlog/~4/kTGn8h_jEYc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://remy.supertext.ch/2012/04/the-net-timezoneinfo-getsystemtimezones-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://remy.supertext.ch/2012/04/the-net-timezoneinfo-getsystemtimezones-list/</feedburner:origLink></item>
		<item>
		<title>Basic Http Authorization for Web API in MVC 4 Beta</title>
		<link>http://feedproxy.google.com/~r/ChiefOfTheSystemBlog/~3/lvHOd1m-T5o/</link>
		<comments>http://remy.supertext.ch/2012/04/basic-http-authorization-for-web-api-in-mvc-4-beta/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 09:13:29 +0000</pubDate>
		<dc:creator>Rémy Blättler</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Authentication]]></category>
		<category><![CDATA[Authorization]]></category>
		<category><![CDATA[Basic HTTP Authentication]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Web API]]></category>

		<guid isPermaLink="false">http://remy.supertext.ch/?p=380</guid>
		<description><![CDATA[A little while ago I posted a solution to do Basic Http Authorization with the Web API Preview 6. Web API got then merged into the next ASP.NET MVC 4 Beta Release and in the process has changed a lot. &#8230; <a href="http://remy.supertext.ch/2012/04/basic-http-authorization-for-web-api-in-mvc-4-beta/">[weiterlesen]</a>]]></description>
			<content:encoded><![CDATA[<p>A little while ago I posted a <a href="http://remy.supertext.ch/2012/02/basic-authentication-with-wcf-web-api-preview-6/">solution to do Basic Http Authorization</a> with the Web API Preview 6. Web API got then merged into the next ASP.NET MVC 4 Beta Release and in the process has changed a lot.</p>
<p>Since my old approach did not work anymore, I had to create something new.</p>
<p>&#160;</p>
<p><strong>Usage:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> OrderController <span style="color: #008000;">:</span> ApiController
<span style="color: #008000;">&#123;</span>
    <span style="color: #008080; font-style: italic;">// GET /api/orders/5</span>
    <span style="color: #008000;">&#91;</span>BasicHttpAuthorizeAttribute<span style="color: #008000;">&#40;</span>RequireAuthentication <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#93;</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> Get<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">int</span> id, <span style="color: #6666cc; font-weight: bold;">string</span> communicationLang<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #008080; font-style: italic;">//do your API Stuff</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p></p>
<p>And the Authentication class itself:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> BasicHttpAuthorizeAttribute <span style="color: #008000;">:</span> <span style="color: #000000;">System.<span style="color: #0000FF;">Web</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">Http</span><span style="color: #008000;">.</span><span style="color: #0000FF;">AuthorizeAttribute</span>  
<span style="color: #008000;">&#123;</span>
    <span style="color: #6666cc; font-weight: bold;">bool</span> requireSsl <span style="color: #008000;">=</span> Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">ToBoolean</span><span style="color: #008000;">&#40;</span>ConfigurationManager<span style="color: #008000;">.</span><span style="color: #0000FF;">AppSettings</span><span style="color: #008000;">&#91;</span><span style="color: #666666;">&quot;RequireSsl&quot;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">bool</span> RequireSsl
    <span style="color: #008000;">&#123;</span>
        get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> requireSsl<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
        set <span style="color: #008000;">&#123;</span> requireSsl <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
&nbsp;
    <span style="color: #6666cc; font-weight: bold;">bool</span> requireAuthentication <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">bool</span> RequireAuthentication
    <span style="color: #008000;">&#123;</span>
        get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> requireAuthentication<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
        set <span style="color: #008000;">&#123;</span> requireAuthentication <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
&nbsp;
    <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span>
    <span style="color: #008080; font-style: italic;">/// For logging with Log4net.</span>
    <span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span>
    <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #0600FF; font-weight: bold;">static</span> <span style="color: #0600FF; font-weight: bold;">readonly</span> ILog log <span style="color: #008000;">=</span> LogManager<span style="color: #008000;">.</span><span style="color: #0000FF;">GetLogger</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">typeof</span><span style="color: #008000;">&#40;</span>BasicHttpAuthorizeAttribute<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">override</span> <span style="color: #6666cc; font-weight: bold;">void</span> OnAuthorization<span style="color: #008000;">&#40;</span><span style="color: #000000;">System.<span style="color: #0000FF;">Web</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">Http</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Controllers</span><span style="color: #008000;">.</span><span style="color: #0000FF;">HttpActionContext</span> actionContext<span style="color: #008000;">&#41;</span>        
    <span style="color: #008000;">&#123;</span>
        <span style="color: #008080; font-style: italic;">//actionContext.Request</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>Authenticate<span style="color: #008000;">&#40;</span>actionContext<span style="color: #008000;">&#41;</span> <span style="color: #008000;">||</span> <span style="color: #008000;">!</span>RequireAuthentication<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0600FF; font-weight: bold;">else</span>
        <span style="color: #008000;">&#123;</span>
            HandleUnauthorizedRequest<span style="color: #008000;">&#40;</span>actionContext<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #0600FF; font-weight: bold;">override</span> <span style="color: #6666cc; font-weight: bold;">void</span> HandleUnauthorizedRequest<span style="color: #008000;">&#40;</span><span style="color: #000000;">System.<span style="color: #0000FF;">Web</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">Http</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Controllers</span><span style="color: #008000;">.</span><span style="color: #0000FF;">HttpActionContext</span> actionContext<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        var challengeMessage <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #000000;">System.<span style="color: #0000FF;">Net</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">Http</span><span style="color: #008000;">.</span><span style="color: #0000FF;">HttpResponseMessage</span><span style="color: #008000;">&#40;</span><span style="color: #000000;">System.<span style="color: #0000FF;">Net</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">HttpStatusCode</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Unauthorized</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        challengeMessage<span style="color: #008000;">.</span><span style="color: #0000FF;">Headers</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;WWW-Authenticate&quot;</span>, <span style="color: #666666;">&quot;Basic&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #0600FF; font-weight: bold;">throw</span> <span style="color: #008000;">new</span> HttpResponseException<span style="color: #008000;">&#40;</span>challengeMessage<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008080; font-style: italic;">//throw new HttpResponseException();</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">bool</span> Authenticate<span style="color: #008000;">&#40;</span><span style="color: #000000;">System.<span style="color: #0000FF;">Web</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">Http</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Controllers</span><span style="color: #008000;">.</span><span style="color: #0000FF;">HttpActionContext</span> actionContext<span style="color: #008000;">&#41;</span> <span style="color: #008080; font-style: italic;">//HttpRequestMessage input)</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>RequireSsl <span style="color: #008000;">&amp;&amp;</span> <span style="color: #008000;">!</span>HttpContext<span style="color: #008000;">.</span><span style="color: #0000FF;">Current</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Request</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsSecureConnection</span> <span style="color: #008000;">&amp;&amp;</span> <span style="color: #008000;">!</span>HttpContext<span style="color: #008000;">.</span><span style="color: #0000FF;">Current</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Request</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsLocal</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            log<span style="color: #008000;">.</span><span style="color: #0000FF;">Error</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Failed to login: SSL:&quot;</span> <span style="color: #008000;">+</span> HttpContext<span style="color: #008000;">.</span><span style="color: #0000FF;">Current</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Request</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsSecureConnection</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">!</span>HttpContext<span style="color: #008000;">.</span><span style="color: #0000FF;">Current</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Request</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Headers</span><span style="color: #008000;">.</span><span style="color: #0000FF;">AllKeys</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Authorization&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #6666cc; font-weight: bold;">string</span> authHeader <span style="color: #008000;">=</span> HttpContext<span style="color: #008000;">.</span><span style="color: #0000FF;">Current</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Request</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Headers</span><span style="color: #008000;">&#91;</span><span style="color: #666666;">&quot;Authorization&quot;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
&nbsp;
        IPrincipal principal<span style="color: #008000;">;</span>
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>TryGetPrincipal<span style="color: #008000;">&#40;</span>authHeader, <span style="color: #0600FF; font-weight: bold;">out</span> principal<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            HttpContext<span style="color: #008000;">.</span><span style="color: #0000FF;">Current</span><span style="color: #008000;">.</span><span style="color: #0000FF;">User</span> <span style="color: #008000;">=</span> principal<span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">bool</span> TryGetPrincipal<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> authHeader, <span style="color: #0600FF; font-weight: bold;">out</span> IPrincipal principal<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        var creds <span style="color: #008000;">=</span> ParseAuthHeader<span style="color: #008000;">&#40;</span>authHeader<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>creds <span style="color: #008000;">!=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>TryGetPrincipal<span style="color: #008000;">&#40;</span>creds<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span>, creds<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#93;</span>, <span style="color: #0600FF; font-weight: bold;">out</span> principal<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        principal <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span>
        <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> ParseAuthHeader<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> authHeader<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #008080; font-style: italic;">// Check this is a Basic Auth header </span>
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>authHeader <span style="color: #008000;">==</span> <span style="color: #0600FF; font-weight: bold;">null</span> <span style="color: #008000;">||</span> authHeader<span style="color: #008000;">.</span><span style="color: #0000FF;">Length</span> <span style="color: #008000;">==</span> <span style="color: #FF0000;">0</span> <span style="color: #008000;">||</span> <span style="color: #008000;">!</span>authHeader<span style="color: #008000;">.</span><span style="color: #0000FF;">StartsWith</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Basic&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">// Pull out the Credentials with are seperated by ':' and Base64 encoded </span>
        <span style="color: #6666cc; font-weight: bold;">string</span> base64Credentials <span style="color: #008000;">=</span> authHeader<span style="color: #008000;">.</span><span style="color: #0000FF;">Substring</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">6</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> credentials <span style="color: #008000;">=</span> Encoding<span style="color: #008000;">.</span><span style="color: #0000FF;">ASCII</span><span style="color: #008000;">.</span><span style="color: #0000FF;">GetString</span><span style="color: #008000;">&#40;</span>Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">FromBase64String</span><span style="color: #008000;">&#40;</span>base64Credentials<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Split</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> <span style="color: #6666cc; font-weight: bold;">char</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#123;</span> <span style="color: #666666;">':'</span> <span style="color: #008000;">&#125;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>credentials<span style="color: #008000;">.</span><span style="color: #0000FF;">Length</span> <span style="color: #008000;">!=</span> <span style="color: #FF0000;">2</span> <span style="color: #008000;">||</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsNullOrEmpty</span><span style="color: #008000;">&#40;</span>credentials<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">||</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsNullOrEmpty</span><span style="color: #008000;">&#40;</span>credentials<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">// Okay this is the credentials </span>
        <span style="color: #0600FF; font-weight: bold;">return</span> credentials<span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">bool</span> TryGetPrincipal<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> username, <span style="color: #6666cc; font-weight: bold;">string</span> password, <span style="color: #0600FF; font-weight: bold;">out</span> IPrincipal principal<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #008080; font-style: italic;">// this is the method that does the authentication </span>
&nbsp;
        <span style="color: #008080; font-style: italic;">//users often add a copy/paste space at the end of the username</span>
        username <span style="color: #008000;">=</span> username<span style="color: #008000;">.</span><span style="color: #0000FF;">Trim</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        password <span style="color: #008000;">=</span> password<span style="color: #008000;">.</span><span style="color: #0000FF;">Trim</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">//TODO</span>
        <span style="color: #008080; font-style: italic;">//Replace this with your own Authentication Code</span>
        Person person <span style="color: #008000;">=</span> AccountManagement<span style="color: #008000;">.</span><span style="color: #0000FF;">ApiLogin</span><span style="color: #008000;">&#40;</span>username, password<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>person <span style="color: #008000;">!=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #008080; font-style: italic;">// once the user is verified, assign it to an IPrincipal with the identity name and applicable roles</span>
            principal <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> GenericPrincipal<span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> GenericIdentity<span style="color: #008000;">&#40;</span>username<span style="color: #008000;">&#41;</span>, <span style="color: #000000;">System.<span style="color: #0000FF;">Web</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Security</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">Roles</span><span style="color: #008000;">.</span><span style="color: #0000FF;">GetRolesForUser</span><span style="color: #008000;">&#40;</span>username<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0600FF; font-weight: bold;">else</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">!</span><span style="color: #6666cc; font-weight: bold;">String</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsNullOrWhiteSpace</span><span style="color: #008000;">&#40;</span>username<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                log<span style="color: #008000;">.</span><span style="color: #0000FF;">Error</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Failed to login: username=&quot;</span> <span style="color: #008000;">+</span> username <span style="color: #008000;">+</span> <span style="color: #666666;">&quot;; password=&quot;</span> <span style="color: #008000;">+</span> password<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
            principal <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>You will have to adjust the TryGetPrincipal() method to include our own Authorization code that works with your system. Or maybe plain normal ASP.NET Provider Authentication is enough in your case.</p>
<img src="http://feeds.feedburner.com/~r/ChiefOfTheSystemBlog/~4/lvHOd1m-T5o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://remy.supertext.ch/2012/04/basic-http-authorization-for-web-api-in-mvc-4-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://remy.supertext.ch/2012/04/basic-http-authorization-for-web-api-in-mvc-4-beta/</feedburner:origLink></item>
		<item>
		<title>Content Export from Contao</title>
		<link>http://feedproxy.google.com/~r/ChiefOfTheSystemBlog/~3/nt1X2T4JDSw/</link>
		<comments>http://remy.supertext.ch/2012/04/content-export-from-contao/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 12:56:47 +0000</pubDate>
		<dc:creator>Rémy Blättler</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Translation]]></category>
		<category><![CDATA[Contao]]></category>
		<category><![CDATA[Export]]></category>
		<category><![CDATA[Import]]></category>
		<category><![CDATA[Typolight]]></category>

		<guid isPermaLink="false">http://remy.supertext.ch/?p=374</guid>
		<description><![CDATA[We have multiple customers that are using Contao CMS (formerly TYPOlight). Unfortunately there is no good export/import tool to get the content in and out for translations. We have a plugin for Drupal and Typo3. WordPress is in development, Contao &#8230; <a href="http://remy.supertext.ch/2012/04/content-export-from-contao/">[weiterlesen]</a>]]></description>
			<content:encoded><![CDATA[<p>We have multiple customers that are using Contao CMS (formerly TYPOlight). Unfortunately there is no good export/import tool to get the content in and out for translations. We have a plugin for Drupal and Typo3. WordPress is in development, Contao in the evaluation phase.</p>
<p>In the meantime what we often get are Microsoft Word files. This works perfectly for us, but is cumbersome for the client. We recommend to send us the raw HTML code. This way there is no copy&amp;paste and modify necessary. All formats stay as the were.</p>
<p><a href="http://remy.supertext.ch/wp-content/uploads/2012/04/image.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://remy.supertext.ch/wp-content/uploads/2012/04/image_thumb.png" width="494" height="412" /></a></p>
<p>Click on the HTML button in the Contao Editor Toolbar (as seen above). This will open the plain text HTML editor. </p>
<p><a href="http://remy.supertext.ch/wp-content/uploads/2012/04/image1.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://remy.supertext.ch/wp-content/uploads/2012/04/image_thumb1.png" width="494" height="412" /></a></p>
<p>Just copy&amp;paste this text into a normal text file and send it to us. </p>
<p>&#160;</p>
<p>You will get it back in the exact same format and everything you have to do, is paste it back into this editor. Done.</p>
<p>&#160;</p>
<p>If you need to translate multiple pages or your whole website, we can export all your pages automatically and reimport them again afterwards. This involves no manual work for you at all. Just contact us.</p>
<img src="http://feeds.feedburner.com/~r/ChiefOfTheSystemBlog/~4/nt1X2T4JDSw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://remy.supertext.ch/2012/04/content-export-from-contao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://remy.supertext.ch/2012/04/content-export-from-contao/</feedburner:origLink></item>
		<item>
		<title>Install the Translation Management Tool for Drupal</title>
		<link>http://feedproxy.google.com/~r/ChiefOfTheSystemBlog/~3/S8DLEYt8DY8/</link>
		<comments>http://remy.supertext.ch/2012/02/install-the-translation-management-tool-for-drupal/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 10:49:21 +0000</pubDate>
		<dc:creator>Rémy Blättler</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[Translation Management Tool]]></category>

		<guid isPermaLink="false">http://remy.supertext.ch/?p=363</guid>
		<description><![CDATA[First, you have to download the following modules: &#160; Translation Management Tool (the most important part) http://drupal.org/project/tmgmt &#160; Entity API (the latest dev version) http://drupal.org/project/entity &#160; Chaos tool suite (ctools) http://drupal.org/project/ctools &#160; Views (3.3 or newer) http://drupal.org/project/views &#160; Views Bulk &#8230; <a href="http://remy.supertext.ch/2012/02/install-the-translation-management-tool-for-drupal/">[weiterlesen]</a>]]></description>
			<content:encoded><![CDATA[<p>First, you have to download the following modules:</p>
<p>&#160;</p>
<h3>Translation Management Tool (the most important part)</h3>
<p><a href="http://drupal.org/project/tmgmt">http://drupal.org/project/tmgmt</a></p>
<p>&#160;</p>
<p><strong>Entity API</strong> (the latest dev version)</p>
<p><a href="http://drupal.org/project/entity">http://drupal.org/project/entity</a></p>
<p>&#160;</p>
<h3><font style="font-weight: normal"><font style="font-weight: bold">Chaos tool suite </font>(ctools)</font></h3>
<p><a href="http://drupal.org/project/ctools">http://drupal.org/project/ctools</a></p>
<p>&#160;</p>
<p><strong>Views</strong> (3.3 or newer)</p>
<p><a href="http://drupal.org/project/views">http://drupal.org/project/views</a></p>
<p>&#160;</p>
<h3>Views Bulk Operations (VBO)</h3>
<p><a href="http://drupal.org/project/views_bulk_operations">http://drupal.org/project/views_bulk_operations</a></p>
<p>&#160;</p>
<h3>Internationalization</h3>
<p><a href="http://drupal.org/project/i18n">http://drupal.org/project/i18n</a></p>
<p>Which turn needs the <font style="font-weight: normal">Variable module:</font></p>
<p><a href="http://drupal.org/project/variable">http://drupal.org/project/variable</a></p>
<p>&#160;</p>
<p><strong>Rules</strong></p>
<p><a href="http://drupal.org/project/rules">http://drupal.org/project/rules</a></p>
<p>&#160;</p>
<p>You can either install these modules via Administration –&gt; Modules or by copying them into /yourwebsite/sites/all/modules.</p>
<p>&#160;</p>
<p>Now, go to back to Administration –&gt; Modules.</p>
<p>Here you need to enable the following parts:</p>
<p>&#160;</p>
<p><strong>Core</strong></p>
<p> <strong></strong>
<ul>
<li>Content translation</li>
<li>Locale</li>
</ul>
<p>&#160;</p>
<p><strong>Chaos tool suite</strong></p>
<ul>
<li>Chaos tools</li>
</ul>
<p>&#160;</p>
<p><strong>Multilingual – Internationalization</strong></p>
<ul>
<li>Internationalization</li>
<li>Multilingual content</li>
<li>String translation</li>
<li>Variable translation</li>
</ul>
<p>&#160;</p>
<p><strong>Other</strong></p>
<ul>
<li>Entity API</li>
<li>Entity tokens </li>
<li>Variable</li>
</ul>
<p>&#160;</p>
<p><strong>Rules</strong></p>
<ul>
<li>Rules</li>
<li>Rules UI</li>
</ul>
<p>&#160;</p>
<p><strong>Translation Management</strong></p>
<ul>
<li>Content Source</li>
<li>Content Source User Interface</li>
<li>Entity Source</li>
<li>Microsoft Translator</li>
<li>Supertext Translator</li>
<li>Translation Management Core</li>
<li>Translation Management Field</li>
<li>Translation Management UI</li>
</ul>
<p>&#160;</p>
<p><strong>Views</strong></p>
<ul>
<li>Views</li>
<li>Views Bulk Operations</li>
<li>Views UI</li>
</ul>
<p>&#160;</p>
<p>A good starting tutorial to configure Drupal for Multilingual Content is here: <a href="http://drupal.org/node/1268692">http://drupal.org/node/1268692</a></p>
<p>&#160;</p>
<p>But there are mainly two core things to configure</p>
<p><strong>First: You have to add multiple languages.</strong></p>
<p>Go to:</p>
<p>Home » Administration » Configuration » Regional and language   <br />And add one or two languages.</p>
<p>&#160;</p>
<p><strong>Second: Configure your content to be translatable.</strong></p>
<p>Go to:</p>
<p>Home » Administration » Structure » Content types   <br />Click on either “Article” or “Basic page” » edit and then choose “Publishing options”.</p>
<p><a href="http://remy.supertext.ch/wp-content/uploads/2012/02/image.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://remy.supertext.ch/wp-content/uploads/2012/02/image_thumb.png" width="490" height="446" /></a></p>
<p>Select “Enabled, with translation” and then switch to “Multilingual settings” and configure accordingly.</p>
<p>&#160;</p>
<p>Now you should be ready! </p>
<p>Add some content and you should see the “Translate” tab besides View and Edit.</p>
<p><a href="http://remy.supertext.ch/wp-content/uploads/2012/02/image1.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://remy.supertext.ch/wp-content/uploads/2012/02/image_thumb1.png" width="490" height="378" /></a></p>
<p>&#160;</p>
<p>But first you have to configure a translator. </p>
<p>For testing the Microsoft translator is perfect. Go to:</p>
<p>Home » Administration » Configuration » Regional and language » Translation Management   <br />And click on edit by the Microsoft translator. Add your API key (you can get it from the link below the textbox).</p>
<p>Let’s go back to your content page and click in Translate. </p>
<p><a href="http://remy.supertext.ch/wp-content/uploads/2012/02/image2.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://remy.supertext.ch/wp-content/uploads/2012/02/image_thumb2.png" width="490" height="413" /></a></p>
<p>We need a German translation and then click on “Request translation” (add translation is if you want to translate it manually). </p>
<p><a href="http://remy.supertext.ch/wp-content/uploads/2012/02/image3.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://remy.supertext.ch/wp-content/uploads/2012/02/image_thumb3.png" width="490" height="464" /></a></p>
<p>In the Translator dropdown we choose Microsoft translator. And then click on “Submit to translator”.</p>
<p>Since this is a machine translation, we get the result immediately. </p>
<p><a href="http://remy.supertext.ch/wp-content/uploads/2012/02/image4.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://remy.supertext.ch/wp-content/uploads/2012/02/image_thumb4.png" width="490" height="464" /></a></p>
<p>Click on “Needs review” under “Pending Translations” and just accept the translation.</p>
<p>Done!</p>
<img src="http://feeds.feedburner.com/~r/ChiefOfTheSystemBlog/~4/S8DLEYt8DY8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://remy.supertext.ch/2012/02/install-the-translation-management-tool-for-drupal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://remy.supertext.ch/2012/02/install-the-translation-management-tool-for-drupal/</feedburner:origLink></item>
		<item>
		<title>The Supertext REST API</title>
		<link>http://feedproxy.google.com/~r/ChiefOfTheSystemBlog/~3/3UcgzN9EcKo/</link>
		<comments>http://remy.supertext.ch/2012/02/the-supertext-rest-api/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 10:46:39 +0000</pubDate>
		<dc:creator>Rémy Blättler</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[REST]]></category>

		<guid isPermaLink="false">http://remy.supertext.ch/?p=338</guid>
		<description><![CDATA[What? In the early days, the internet solely consisted of simple static webpages. With the Dot-Com boom (or bubble), the webpages changed into complex and dynamic applications. But they were all like islands. There was no connection whatsoever between them. &#8230; <a href="http://remy.supertext.ch/2012/02/the-supertext-rest-api/">[weiterlesen]</a>]]></description>
			<content:encoded><![CDATA[<h2><strong>What?</strong></h2>
<p>In the early days, the internet solely consisted of simple static webpages. With the Dot-Com boom (or bubble), the webpages changed into complex and dynamic applications. But they were all like islands. There was no connection whatsoever between them. But now, companies like Facebook and Twitter loosened up and enable other people to build applications, allowing to connect to them and add their own functionality.</p>
<p>Until now, Supertext has – besides some specific integrations – been an island too. But that&#8217;s over now. We have an open and public API allowing other applications to directly integrate with Supertext.</p>
<p>&nbsp;</p>
<h2><strong>Why?</strong></h2>
<p>Who wants to integrate with Supertext you wonder? And why? Actually, lots of people. It started 4 years ago with Akero, a now defunct CMS system. Akero users were able to directly order translations and text editing from inside their CMS and got the final text delivered back into it. Clearly, this wasn&#8217;t enough to make Akero a success, but the need to order directly from 3rd party systems remained evident until today.</p>
<p>&nbsp;</p>
<h2><strong>How?</strong></h2>
<p>Now it gets a bit technical. The Supertext API is built as a REST API that understands JSON or XML. Almost all modern open APIs are built alike. This means that they&#8217;re accessible with normal HTTP calls and they enable you to send and receive human readable JSON or XML messages.</p>
<p>&nbsp;</p>
<h2><strong>Who?</strong></h2>
<p>Authentication is done via normal <a href="http://remy.supertext.ch/2012/02/basic-authentication-with-wcf-web-api-preview-6/">Basic HTTP Authentication</a>. Most other APIs just use a token or your username and password. We decided to work with a username in combination with a custom token. You can get this token from your <a href="https://www.supertext.ch/customer/accountsettings.aspx">Supertext Account Settings</a> page. If you don’t have a Supertext account, you can establish one on the <a href="https://www.supertext.ch/en/signup">sign up page</a>.</p>
<p>&nbsp;</p>
<h2><strong>Where?</strong></h2>
<p>Please send an e-mail to remyATsupertextDOTch and I will send you the URL for the sandbox and the live system.</p>
<p>&nbsp;</p>
<h2><strong>Which?</strong></h2>
<p>Currently we support the functionality listed below, basically you can get quotes and make orders.</p>
<p>You can add the below parameter to most calls, to specify in what language you get the results back:</p>
<p><em>communicationlang={communicationlang}</em></p>
<p>Adding it is optional. Otherwise the response defaults to English.  We currently support CHF and EUR. For a quote you can choose between the two currencies, but if you create an order, whatever is set in your account will be used.</p>
<p>&nbsp;</p>
<p><strong>For the configuration</strong></p>
<p><em>/translation/languagemapping/{language}</em></p>
<p>GET &#8211; No authentication necessary.</p>
<p>Helps you map a language in your system to one we support.</p>
<p>E.g. your CMS is setup for &#8216;de&#8217; (German). We don’t actually translate into German, we translate into German for Switzerland, for Germany or for Austria. So this method returns you a list of possible matches. For {language} = &#8216;de&#8217; the result would look like this:</p>

<div class="wp_syntax"><div class="code"><pre class="json" style="font-family:monospace;">{
  &quot;Languages&quot;:
  [
    {
      &quot;Iso&quot;:&quot;de-CH&quot;,
      &quot;Name&quot;:&quot;German (CH)&quot;
    },
    {
      &quot;Iso&quot;:&quot;de-DE&quot;,
      &quot;Name&quot;:&quot;German (DE)&quot;
    },
    {
      &quot;Iso&quot;:&quot;de-AT&quot;,
      &quot;Name&quot;:&quot;German (AT)&quot;
    }
  ],
  &quot;Supported&quot;:false
}</pre></div></div>

<p>&nbsp;</p>
<p><strong>To get a quote</strong></p>
<p>/translation/quote</p>
<p>POST – authentication optional</p>
<p>Getting a quote over the API works in pretty much the same way as if you were using our normal website to <a href="http://www.supertext.ch/en/translation">order a translation</a> (give it a try). Send us the text and in return, you see a list of possible delivery deadlines and prices per service levels  (translation/adaptation). You can send us the content structured in groups and items, which is helpful if you have CMS that is built that way. E.g. a group could be a page, items are title, content, metatags and so on. The following is a possible JSON for this call:</p>

<div class="wp_syntax"><div class="code"><pre class="json" style="font-family:monospace;">{
  &quot;ContentType&quot;:&quot;text\/html&quot;,
  &quot;Currency&quot;:&quot;chf&quot;,
  &quot;Groups&quot;:
  [
    {
      &quot;GroupId&quot;:&quot;Group1&quot;,
      &quot;Items&quot;:
      [
        {
          &quot;Content&quot;:&quot;This is the content of group 1&quot;,
          &quot;Id&quot;:&quot;1&quot;
        },
        {
          &quot;Content&quot;:&quot;This is more content  of group 1&quot;,
          &quot;Id&quot;:&quot;2&quot;
        }
      ]
    },
    {
      &quot;GroupId&quot;:&quot;Group2&quot;,
      &quot;Items&quot;:
      [
        {
          &quot;Content&quot;:&quot;This is the content  of group 2&quot;,
          &quot;Id&quot;:&quot;1&quot;
        },
        {
          &quot;Content&quot;:&quot;This is more content  of group 2&quot;,
          &quot;Id&quot;:&quot;2&quot;
        }
      ]
    }
  ],
  &quot;SourceLang&quot;:&quot;de-CH&quot;,
  &quot;TargetLang&quot;:&quot;en-US&quot;,
}</pre></div></div>

<p>&nbsp;</p>
<p>And this could be what you get in return:</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="json" style="font-family:monospace;">{
  &quot;Currency&quot;:&quot;CHF&quot;,
  &quot;WordCount&quot;: 123,
  &quot;Options&quot;:
  [
    {
      &quot;DeliveryOptions&quot;:
      [
        {
          &quot;DeliveryDate&quot;:&quot;2012-02-22T09:25:46.0000000Z&quot;,
          &quot;DeliveryId&quot;:1,
          &quot;Name&quot;:&quot;6h&quot;,
          &quot;Price&quot;:124
        },
        {
          &quot;DeliveryDate&quot;:&quot;2012-02-22T15:25:46.0000000Z0&quot;,
          &quot;DeliveryId&quot;:2,
          &quot;Name&quot;:&quot;24h&quot;,
          &quot;Price&quot;:110
        },
        {
          &quot;DeliveryDate&quot;:&quot;2012-02-23T15:25:46.0000000Z&quot;,
          &quot;DeliveryId&quot;:3,
          &quot;Name&quot;:&quot;48h&quot;,
          &quot;Price&quot;:96
        },
        {
          &quot;DeliveryDate&quot;:&quot;2012-02-24T15:25:46.0000000Z&quot;,
          &quot;DeliveryId&quot;:4,
          &quot;Name&quot;:&quot;3 Days&quot;,
          &quot;Price&quot;:82
        },
        {
          &quot;DeliveryDate&quot;:&quot;2012-02-28T15:25:46.0000000Z&quot;,
          &quot;DeliveryId&quot;:5,
          &quot;Name&quot;:&quot;1 Week&quot;,
          &quot;Price&quot;:69
        }
      ],
      &quot;Description&quot;:&quot;For an exact reproduction of the original text, the translated text is checked by a proofreader.&quot;,
      &quot;Name&quot;:&quot;Translation&quot;,
      &quot;OrderTypeId&quot;:6,
      &quot;ShortDescription&quot;:&quot;4-eye principle.&quot;
    },
    {
      &quot;DeliveryOptions&quot;:
      [
        {
          &quot;DeliveryDate&quot;:&quot;2012-02-22T15:25:46.0000000Z&quot;,
          &quot;DeliveryId&quot;:2,
          &quot;Name&quot;:&quot;24h&quot;,
          &quot;Price&quot;:254
        },
        {
          &quot;DeliveryDate&quot;:&quot;2012-02-23T15:25:46.0000000Z&quot;,
          &quot;DeliveryId&quot;:3,
          &quot;Name&quot;:&quot;48h&quot;,
          &quot;Price&quot;:222
        },
        {
          &quot;DeliveryDate&quot;:&quot;2012-02-24T15:25:46.0000000Z&quot;,
          &quot;DeliveryId&quot;:4,
          &quot;Name&quot;:&quot;3 Days&quot;,
          &quot;Price&quot;:190
        },
        {
          &quot;DeliveryDate&quot;:&quot;2012-02-28T15:25:46.0000000Z&quot;,
          &quot;DeliveryId&quot;:5,
          &quot;Name&quot;:&quot;1 Week&quot;,
          &quot;Price&quot;:159
        }
      ],
      &quot;Description&quot;:&quot;For the translation to sound as good as the original, the translated text is stylistically post-edited.&quot;,
      &quot;Name&quot;:&quot;Adaptation&quot;,
      &quot;OrderTypeId&quot;:7,
      &quot;ShortDescription&quot;:&quot;6-eye principle.&quot;
    }
  ]
}</pre></div></div>

<p>&nbsp;</p>
<p><strong>And to make an order</strong></p>
<p><em>/translation/order</em></p>
<p>POST – authentication necessary</p>
<p>When making an order, we need more details than we need for a quote. At first, we need to know which quote you’ve chosen. So you have to add the OrderTypeId and the DeliveryId.</p>
<p>Very important is the CallbackUrl. After the translation job is finished, we will call this URL with a similar JSON order object and write back the translated content into your system.</p>
<p>We strongly advise you to use the following fields:</p>
<p><strong>OrderTitle</strong>: Some short description about this order. E.g. “Spring sale”</p>
<p><strong>ReferenceData</strong>: Anything you need to identify this order later (besides the GroupId and the Id for the Content field). And optionally, you could add some security token so that not everybody with access to the callback URL can update your system.</p>
<p><strong>Referrer</strong>: Name of your website or system. E.g. Supertext US Website</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="json" style="font-family:monospace;">{
  &quot;CallbackUrl&quot;:&quot;http://localhost:65346/API/ApiCallbackExample.aspx&quot;,
  &quot;ContentType&quot;:&quot;text\/html&quot;,
  &quot;Currency&quot;:&quot;chf&quot;,
  &quot;DeliveryId&quot;:1,
  &quot;OrderTitle&quot;:&quot;Some title&quot;,
  &quot;OrderTypeId&quot;:6,
  &quot;ReferenceData&quot;:&quot;NodeId:4ee69461-1c8d-4fbe-9d77-7d05e46bc4a8&quot;,
  &quot;Referrer&quot;:&quot;Supertext Magazin&quot;,
  &quot;SourceLang&quot;:&quot;de-CH&quot;,
  &quot;TargetLang&quot;:&quot;en-US&quot;,
  &quot;WordCount&quot;:0,
  &quot;Groups&quot;:
  [
    {
      &quot;Context&quot;:&quot;Some Node&quot;,
      &quot;GroupId&quot;:&quot;Group1&quot;,
      &quot;Items&quot;:
      [
        {
          &quot;Comment&quot;:null,
          &quot;Content&quot;:&quot;This is the content of group 1&quot;,
          &quot;Context&quot;:null,
          &quot;Id&quot;:&quot;1&quot;
        },
        {
          &quot;Comment&quot;:null,
          &quot;Content&quot;:&quot;This is new content of group 1&quot;,
          &quot;Context&quot;:null,
          &quot;Id&quot;:&quot;2&quot;
        }
      ]
    },
    {
      &quot;Context&quot;:&quot;Some other Node&quot;,
      &quot;GroupId&quot;:&quot;Group2&quot;,
      &quot;Items&quot;:
      [
        {
          &quot;Comment&quot;:null,
          &quot;Content&quot;:&quot;This is the content of group 2&quot;,
          &quot;Context&quot;:null,
          &quot;Id&quot;:&quot;1&quot;
        },
        {
          &quot;Comment&quot;:null,
          &quot;Content&quot;:&quot;This is new content of group 2&quot;,
          &quot;Context&quot;:null,
          &quot;Id&quot;:&quot;2&quot;
        }
      ]
    }
  ]
}</pre></div></div>

<p>&nbsp;</p>
<p>You get back another order object with the order Id, a price, order and delivery date. All the other data is just for your reference.</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="json" style="font-family:monospace;">{
  &quot;Id&quot;:12023,
  &quot;OrderDate&quot;:&quot;2012-02-09T13:43:46.0000000Z&quot;,
  &quot;Deadline&quot;:&quot;2012-02-09T13:43:46.0000000Z&quot;,
  &quot;Price&quot;:199,
  &quot;Currency&quot;:&quot;chf&quot;,
  &quot;DeliveryId&quot;:1,
  &quot;OrderTitle&quot;:&quot;Some title&quot;,
  &quot;OrderTypeId&quot;:6,
  &quot;ReferenceData&quot;:&quot;NodeId:4ee69461-1c8d-4fbe-9d77-7d05e46bc4a8&quot;,
  &quot;SourceLang&quot;:&quot;de-CH&quot;,
  &quot;TargetLang&quot;:&quot;en-US&quot;,
  &quot;Status&quot;:&quot;New&quot;
}</pre></div></div>

<p>&nbsp;</p>
<p><strong>Status</strong></p>
<p><em>/translation/order/{id}</em></p>
<p>GET – authentication necessary</p>
<p>In order to track the status of an order, just use the Id you got after you submitted the order. You will get an Order object like the one above as a return.</p>
<p>&nbsp;</p>
<p><strong>Callback</strong><br />
In order to get your translation back from us, you need to provide us with a callback URL.<br />
When you create the order, you have to use the field CallbackUrl. This URL needs to accept a JSON of the type Order (as shown above). That Order object will contain your translation in the Groups and Item fields with the same Id&#8217;s, so you can map them back to your own datastructure.<br />
We recommend that you use the ReferenceData field as some type of authentication. For example you could use a combination of an internal Id and the MD5 hash of this Id. We will return the ReferenceData field in our callback. You can then just check if the Hash matches to make sure nobody else is writing into your system.</p>
<p>&nbsp;</p>
<p><strong>Dates</strong></p>
<p>All dates are in UTC and in the <a href="http://en.wikipedia.org/wiki/ISO_8601">ISO_8601</a> format:</p>
<p>2012-05-03T12:09:46.0000000Z</p>
<p>If you are using .NET just use <a href="http://msdn.microsoft.com/en-us/library/system.convert.todatetime.aspx">Convert.ToDateTime()</a>, this will automatically convert from the UTC time to your local time.</p>
<img src="http://feeds.feedburner.com/~r/ChiefOfTheSystemBlog/~4/3UcgzN9EcKo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://remy.supertext.ch/2012/02/the-supertext-rest-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://remy.supertext.ch/2012/02/the-supertext-rest-api/</feedburner:origLink></item>
		<item>
		<title>Basic Authentication with WCF Web API Preview 6</title>
		<link>http://feedproxy.google.com/~r/ChiefOfTheSystemBlog/~3/yNMXAlId9Lw/</link>
		<comments>http://remy.supertext.ch/2012/02/basic-authentication-with-wcf-web-api-preview-6/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 12:35:27 +0000</pubDate>
		<dc:creator>Rémy Blättler</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Authentication]]></category>
		<category><![CDATA[Authorization]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[wcf]]></category>
		<category><![CDATA[wcf web api]]></category>

		<guid isPermaLink="false">http://remy.supertext.ch/?p=329</guid>
		<description><![CDATA[One should not believe it, but it seems that there is no official way to use your own version of Basic HTTP Authentication with the WCF Web API in an MVC Web Application yet. So, now that I’ve used all &#8230; <a href="http://remy.supertext.ch/2012/02/basic-authentication-with-wcf-web-api-preview-6/">[weiterlesen]</a>]]></description>
			<content:encoded><![CDATA[<p>One should not believe it, but it seems that there is no official way to use your own version of Basic HTTP Authentication with the WCF Web API in an MVC Web Application yet. So, now that I’ve used all possible necessary keywords we can dive right in.</p>
<p>&nbsp;</p>
<p>We are using a custom ASP.NET Membership provider and the REST API should work with a token over Basic HTTP Authentication (like Basecamp). So, the built in Windows Basic Authentication is not an option.</p>
<p>After scanning dozens of posts on Stackoverflow and other resources I realized that either I have to go with the WCF REST Contrib library or with Open Rasta. But since I already started with the WCF Web API Preview 6 to build my REST API (and it worked fine so far) I didn’t want to switch now.</p>
<p>The most promising solution I found was from <a href="http://cacheandquery.com/blog/2011/03/customizing-asp-net-mvc-basic-authentication/">jslaybaugh</a>. He is basically using a custom version of the [Authorize] attribute from the normal MVC framework and somehow integrated it all with Ninject. For some reason I didn’t got it working. In general AuthorizeAttribute and action filters are MVC specific. For WCF we have the HttpOperationHandler or the DelegatingHandler. They have their specific uses and advantages. Some info about his from <a href="http://codebetter.com/glennblock/2011/05/17/message-handlers-vs-operation-handlers-which-one-to-use-2/">Glenn Block</a>.</p>
<p>I’ve decided to go with the HttpOperationHandler and found a good example from Phil Haack where he implements a <a href="http://haacked.com/archive/2011/10/19/implementing-an-authorization-attribute-for-wcf-web-api.aspx">Role authorization Module</a>, that also works with Attributes, so we can implement something very similar to the AuthorizeAttribute of MVC. There are simpler solutions, e.g. you could just check this inside your Controller, but <a href="http://blogs.teamb.com/craigstuntz/2009/09/09/38390/">Craig Stuntz</a> has some good points about why this is a bad idea.</p>
<p>So, let’s look at the code (which is a potpourri of all the above examples):</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008000;">&#91;</span>AttributeUsage<span style="color: #008000;">&#40;</span>AttributeTargets<span style="color: #008000;">.</span><span style="color: #0000FF;">Method</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#93;</span>
<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> BasicHttpAuthorizationAttribute <span style="color: #008000;">:</span> Attribute
<span style="color: #008000;">&#123;</span>
    <span style="color: #6666cc; font-weight: bold;">bool</span> requireSsl <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">bool</span> RequireSsl
    <span style="color: #008000;">&#123;</span>
        get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> requireSsl<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
        set <span style="color: #008000;">&#123;</span> requireSsl <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>With this simple BasicHttpAuthorizationAttribute class we can achieve the the attribute functionality. So we can use it like this:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008000;">&#91;</span>BasicHttpAuthorization<span style="color: #008000;">&#40;</span>RequireSsl <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#93;</span>
<span style="color: #008000;">&#91;</span>WebGet<span style="color: #008000;">&#40;</span>UriTemplate <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#93;</span>
<span style="color: #0600FF; font-weight: bold;">public</span> IEnumerable Get<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span></pre></div></div>

<p>&nbsp;</p>
<p>The RequireSsl is just an example property, you could also do a role membership check in the same way.</p>
<p>But the most important part is the implementation of the HttpOperationHandler. We pass the BasicHttpAuthorizationAttribute as an argument.</p>
<p>There are three main points that deserve attention here:</p>
<ol>
<li>If the user is not authenticated yet or provides the wrong credentials we return a HttpResponseException in the OnHandle method. We set the status code to 401 and add the WWW-Authenticate = Basic header. This creates the functionality, where the browser asks for a username/password and then automatically resends the request.</li>
<li>In ParseAuthHeader we get the username and password out of the request. You can  then use this info with in your own way. For example with your own custom membership provider.</li>
<li>If the user can access this method, we create a GenericPrincipal and assign it to HttpContext.Current.User. Afterwards you can then just use your normal MemberShip and RoleProvider like in every normal ASP.NET application.</li>
</ol>
<p>Other than that, there is not much magic in here.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> BasicHttpAuthorizationOperationHandler <span style="color: #008000;">:</span> HttpOperationHandler
<span style="color: #008000;">&#123;</span>
&nbsp;
    BasicHttpAuthorizationAttribute basicHttpAuthorizationAttribute<span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">public</span> BasicHttpAuthorizationOperationHandler<span style="color: #008000;">&#40;</span>BasicHttpAuthorizationAttribute authorizeAttribute<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">:</span> <span style="color: #0600FF; font-weight: bold;">base</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;response&quot;</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        basicHttpAuthorizationAttribute <span style="color: #008000;">=</span> authorizeAttribute<span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #0600FF; font-weight: bold;">override</span> HttpRequestMessage OnHandle<span style="color: #008000;">&#40;</span>HttpRequestMessage input<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>Authenticate<span style="color: #008000;">&#40;</span>input<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> input<span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0600FF; font-weight: bold;">else</span>
        <span style="color: #008000;">&#123;</span>
            var challengeMessage <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> HttpResponseMessage<span style="color: #008000;">&#40;</span>HttpStatusCode<span style="color: #008000;">.</span><span style="color: #0000FF;">Unauthorized</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            challengeMessage<span style="color: #008000;">.</span><span style="color: #0000FF;">Headers</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;WWW-Authenticate&quot;</span>, <span style="color: #666666;">&quot;Basic&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">throw</span> <span style="color: #008000;">new</span> HttpResponseException<span style="color: #008000;">&#40;</span>challengeMessage<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">bool</span> Authenticate<span style="color: #008000;">&#40;</span>HttpRequestMessage input<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>basicHttpAuthorizationAttribute<span style="color: #008000;">.</span><span style="color: #0000FF;">RequireSsl</span> <span style="color: #008000;">&amp;</span>amp<span style="color: #008000;">;&amp;</span>amp<span style="color: #008000;">;</span> <span style="color: #008000;">!</span>HttpContext<span style="color: #008000;">.</span><span style="color: #0000FF;">Current</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Request</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsSecureConnection</span> <span style="color: #008000;">&amp;</span>amp<span style="color: #008000;">;&amp;</span>amp<span style="color: #008000;">;</span> <span style="color: #008000;">!</span>HttpContext<span style="color: #008000;">.</span><span style="color: #0000FF;">Current</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Request</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsLocal</span><span style="color: #008000;">&#41;</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #008000;">!</span>HttpContext<span style="color: #008000;">.</span><span style="color: #0000FF;">Current</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Request</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Headers</span><span style="color: #008000;">.</span><span style="color: #0000FF;">AllKeys</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Contains</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Authorization&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #6666cc; font-weight: bold;">string</span> authHeader <span style="color: #008000;">=</span>  HttpContext<span style="color: #008000;">.</span><span style="color: #0000FF;">Current</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Request</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Headers</span><span style="color: #008000;">&#91;</span><span style="color: #666666;">&quot;Authorization&quot;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">;</span>
&nbsp;
        IPrincipal principal<span style="color: #008000;">;</span>
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>TryGetPrincipal<span style="color: #008000;">&#40;</span>authHeader, <span style="color: #0600FF; font-weight: bold;">out</span> principal<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            HttpContext<span style="color: #008000;">.</span><span style="color: #0000FF;">Current</span><span style="color: #008000;">.</span><span style="color: #0000FF;">User</span> <span style="color: #008000;">=</span> principal<span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">bool</span> TryGetPrincipal<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> authHeader, <span style="color: #0600FF; font-weight: bold;">out</span> IPrincipal principal<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        var creds <span style="color: #008000;">=</span> ParseAuthHeader<span style="color: #008000;">&#40;</span>authHeader<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>creds <span style="color: #008000;">!=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>TryGetPrincipal<span style="color: #008000;">&#40;</span>creds<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span>, creds<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#93;</span>, <span style="color: #0600FF; font-weight: bold;">out</span> principal<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        principal <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span>
        <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> ParseAuthHeader<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> authHeader<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #008080; font-style: italic;">// Check this is a Basic Auth header</span>
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>authHeader <span style="color: #008000;">==</span> <span style="color: #0600FF; font-weight: bold;">null</span> <span style="color: #008000;">||</span> authHeader<span style="color: #008000;">.</span><span style="color: #0000FF;">Length</span> <span style="color: #008000;">==</span> <span style="color: #FF0000;">0</span> <span style="color: #008000;">||</span> <span style="color: #008000;">!</span>authHeader<span style="color: #008000;">.</span><span style="color: #0000FF;">StartsWith</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Basic&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">// Pull out the Credentials with are seperated by ':' and Base64 encoded</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> base64Credentials <span style="color: #008000;">=</span> authHeader<span style="color: #008000;">.</span><span style="color: #0000FF;">Substring</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">6</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> credentials <span style="color: #008000;">=</span> Encoding<span style="color: #008000;">.</span><span style="color: #0000FF;">ASCII</span><span style="color: #008000;">.</span><span style="color: #0000FF;">GetString</span><span style="color: #008000;">&#40;</span>Convert<span style="color: #008000;">.</span><span style="color: #0000FF;">FromBase64String</span><span style="color: #008000;">&#40;</span>base64Credentials<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Split</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> <span style="color: #6666cc; font-weight: bold;">char</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#123;</span> <span style="color: #666666;">':'</span> <span style="color: #008000;">&#125;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>credentials<span style="color: #008000;">.</span><span style="color: #0000FF;">Length</span> <span style="color: #008000;">!=</span> <span style="color: #FF0000;">2</span> <span style="color: #008000;">||</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsNullOrEmpty</span><span style="color: #008000;">&#40;</span>credentials<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">||</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">.</span><span style="color: #0000FF;">IsNullOrEmpty</span><span style="color: #008000;">&#40;</span>credentials<span style="color: #008000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">// Okay this is the credentials</span>
        <span style="color: #0600FF; font-weight: bold;">return</span> credentials<span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">bool</span> TryGetPrincipal<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> userName, <span style="color: #6666cc; font-weight: bold;">string</span> password, <span style="color: #0600FF; font-weight: bold;">out</span> IPrincipal principal<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #008080; font-style: italic;">// this is the method that does the authentication</span>
        <span style="color: #008080; font-style: italic;">// you can replace this with whatever logic you'd use, but proper separation would put the</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>userName<span style="color: #008000;">.</span><span style="color: #0000FF;">Equals</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;remy@test.ch&quot;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&amp;</span>amp<span style="color: #008000;">;&amp;</span>amp<span style="color: #008000;">;</span> password<span style="color: #008000;">.</span><span style="color: #0000FF;">Equals</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;test&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #008080; font-style: italic;">// once the user is verified, assign it to an IPrincipal with the identity name and applicable roles</span>
            <span style="color: #008080; font-style: italic;">// Example:</span>
            <span style="color: #008080; font-style: italic;">//principal = new GenericPrincipal(new GenericIdentity(userName), System.Web.Security.Roles.GetRolesForUser(userName));</span>
&nbsp;
            principal <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> GenericPrincipal<span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> GenericIdentity<span style="color: #008000;">&#40;</span>userName<span style="color: #008000;">&#41;</span>, <span style="color: #008000;">new</span> <span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#123;</span><span style="color: #666666;">&quot;Admin&quot;</span>, <span style="color: #666666;">&quot;User&quot;</span><span style="color: #008000;">&#125;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0600FF; font-weight: bold;">else</span>
        <span style="color: #008000;">&#123;</span>
            principal <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> <span style="color: #0600FF; font-weight: bold;">false</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Last but not least, we need to hook up our HttpOperationHandler with the BasicHttpAuthorizationAttribute object and route. For this we create a custom WebApiConfiguration and use a class extension to do the wiring. Honestly, I’m not really sure what is going on here, but it works <img src='http://remy.supertext.ch/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> ApiConfiguration <span style="color: #008000;">:</span> WebApiConfiguration
<span style="color: #008000;">&#123;</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> ApiConfiguration<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        EnableTestClient <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
&nbsp;
        RequestHandlers <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span>c, e, od<span style="color: #008000;">&#41;</span> <span style="color: #008000;">=&amp;</span>gt<span style="color: #008000;">;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #008080; font-style: italic;">// TODO: Configure request operation handlers</span>
        <span style="color: #008000;">&#125;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">this</span><span style="color: #008000;">.</span><span style="color: #0000FF;">AppendAuthorizationRequestHandlers</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">static</span> <span style="color: #6666cc; font-weight: bold;">class</span> ConfigExtensions
<span style="color: #008000;">&#123;</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">static</span> <span style="color: #6666cc; font-weight: bold;">void</span> AppendAuthorizationRequestHandlers<span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">this</span> WebApiConfiguration config<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        var requestHandlers <span style="color: #008000;">=</span> config<span style="color: #008000;">.</span><span style="color: #0000FF;">RequestHandlers</span><span style="color: #008000;">;</span>
        config<span style="color: #008000;">.</span><span style="color: #0000FF;">RequestHandlers</span> <span style="color: #008000;">=</span> <span style="color: #008000;">&#40;</span>c, e, od<span style="color: #008000;">&#41;</span> <span style="color: #008000;">=&amp;</span>gt<span style="color: #008000;">;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>requestHandlers <span style="color: #008000;">!=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                requestHandlers<span style="color: #008000;">&#40;</span>c, e, od<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span> <span style="color: #008080; font-style: italic;">// Original request handler</span>
            <span style="color: #008000;">&#125;</span>
            var authorizeAttribute <span style="color: #008000;">=</span> od<span style="color: #008000;">.</span><span style="color: #0000FF;">Attributes</span><span style="color: #008000;">.</span><span style="color: #0000FF;">OfType</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
              <span style="color: #008000;">.</span><span style="color: #0000FF;">FirstOrDefault</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>authorizeAttribute <span style="color: #008000;">!=</span> <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                c<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> BasicHttpAuthorizationOperationHandler<span style="color: #008000;">&#40;</span>authorizeAttribute<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>And we pass this configuration in the global.asax.cs to the route handler:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">static</span> <span style="color: #6666cc; font-weight: bold;">void</span> RegisterRoutes<span style="color: #008000;">&#40;</span>RouteCollection routes<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    var config <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> ApiConfiguration<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
    routes<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> ServiceRoute<span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;example&quot;</span>, <span style="color: #008000;">new</span> HttpServiceHostFactory<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span> Configuration <span style="color: #008000;">=</span> config <span style="color: #008000;">&#125;</span>, <span style="color: #008000;">typeof</span><span style="color: #008000;">&#40;</span>ExampleAPI<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>That is it. You can download the example project here: <a href="http://remy.supertext.ch/wp-content/uploads/2012/02/BasicAuthenticationWithWcfWebAPI.zip">BasicAuthenticationWithWcfWebAPI.zip</a></p>
<p>&nbsp;</p>
<p>Please let me know if this works for you and specially, if you find ways to improve it.</p>
<img src="http://feeds.feedburner.com/~r/ChiefOfTheSystemBlog/~4/yNMXAlId9Lw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://remy.supertext.ch/2012/02/basic-authentication-with-wcf-web-api-preview-6/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://remy.supertext.ch/2012/02/basic-authentication-with-wcf-web-api-preview-6/</feedburner:origLink></item>
	</channel>
</rss>

