There is problems when you are developing applications which based on cloud services. That is , time of your service (servers ) are different than the time that your application. If you are using time stamp based data pulling from the cloud service you are in big trouble.
Here if two basic solutions that you can use in those scenarios
1. Use UTC (absolute) Time (highly recommended)
2. Change time zone of the server according to the requirement
Use absolute time you can just do with simple DateTime object.
in C# simply like this
Change Time zone of the Server ( Instances of cloud service )
This is the Task that you cannot find lot of documentation
If you follow following steps You can easily change server time zone ( In azure (cloud) it will randomly create and no one can predict that which instance of the server will run entire service life cycle *Its never happens with cloud) in every running instance once it starting
1. Create batch (*.bat) file with flowing command
Here is time zone reference
2. Add it in to the cloud service ( Not to the cloud service project )
*Add it to project which identifies as role (web, worker) by cloud project . In following example You need to add batch file into WebRole1 project
3. Then R-Click on the batch file and select properties from visual studio . In properties under the Advanced change Copy To Output Directory property in to copy always.
4. Then go to the Cloud project and open the ServiceDefinition.csdf file
5. Under WebRole Tag add Start up task as follow .
Now it is done ... You free to go with your cloud service
Enjoy
Here if two basic solutions that you can use in those scenarios
1. Use UTC (absolute) Time (highly recommended)
2. Change time zone of the server according to the requirement
Use absolute time you can just do with simple DateTime object.
in C# simply like this
DateTime.UtcNow
Change Time zone of the Server ( Instances of cloud service )
This is the Task that you cannot find lot of documentation
If you follow following steps You can easily change server time zone ( In azure (cloud) it will randomly create and no one can predict that which instance of the server will run entire service life cycle *Its never happens with cloud) in every running instance once it starting
1. Create batch (*.bat) file with flowing command
tzutil /s "Sri Lanka Standard Time"
Here is time zone reference
Index | Name of Time Zone | Time |
000 | Dateline Standard Time | (GMT-12:00) International Date Line West |
001 | Samoa Standard Time | (GMT-11:00) Midway Island, Samoa |
002 | Hawaiian Standard Time | (GMT-10:00) Hawaii |
003 | Alaskan Standard Time | (GMT-09:00) Alaska |
004 | Pacific Standard Time | (GMT-08:00) Pacific Time (US and Canada); Tijuana |
010 | Mountain Standard Time | (GMT-07:00) Mountain Time (US and Canada) |
013 | Mexico Standard Time 2 | (GMT-07:00) Chihuahua, La Paz, Mazatlan |
015 | U.S. Mountain Standard Time | (GMT-07:00) Arizona |
020 | Central Standard Time | (GMT-06:00) Central Time (US and Canada |
025 | Canada Central Standard Time | (GMT-06:00) Saskatchewan |
030 | Mexico Standard Time | (GMT-06:00) Guadalajara, Mexico City, Monterrey |
033 | Central America Standard Time | (GMT-06:00) Central America |
035 | Eastern Standard Time | (GMT-05:00) Eastern Time (US and Canada) |
040 | U.S. Eastern Standard Time | (GMT-05:00) Indiana (East) |
045 | S.A. Pacific Standard Time | (GMT-05:00) Bogota, Lima, Quito |
050 | Atlantic Standard Time | (GMT-04:00) Atlantic Time (Canada) |
055 | S.A. Western Standard Time | (GMT-04:00) Caracas, La Paz |
056 | Pacific S.A. Standard Time | (GMT-04:00) Santiago |
060 | Newfoundland and Labrador Standard Time | (GMT-03:30) Newfoundland and Labrador |
065 | E. South America Standard Time | (GMT-03:00) Brasilia |
070 | S.A. Eastern Standard Time | (GMT-03:00) Buenos Aires, Georgetown |
073 | Greenland Standard Time | (GMT-03:00) Greenland |
075 | Mid-Atlantic Standard Time | (GMT-02:00) Mid-Atlantic |
080 | Azores Standard Time | (GMT-01:00) Azores |
083 | Cape Verde Standard Time | (GMT-01:00) Cape Verde Islands |
085 | GMT Standard Time | (GMT) Greenwich Mean Time: Dublin, Edinburgh, Lisbon, London |
090 | Greenwich Standard Time | (GMT) Casablanca, Monrovia |
095 | Central Europe Standard Time | (GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague |
100 | Central European Standard Time | (GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb |
105 | Romance Standard Time | (GMT+01:00) Brussels, Copenhagen, Madrid, Paris |
110 | W. Europe Standard Time | (GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna |
113 | W. Central Africa Standard Time | (GMT+01:00) West Central Africa |
115 | E. Europe Standard Time | (GMT+02:00) Bucharest |
120 | Egypt Standard Time | (GMT+02:00) Cairo |
125 | FLE Standard Time | (GMT+02:00) Helsinki, Kiev, Riga, Sofia, Tallinn, Vilnius |
130 | GTB Standard Time | (GMT+02:00) Athens, Istanbul, Minsk |
135 | Israel Standard Time | (GMT+02:00) Jerusalem |
140 | South Africa Standard Time | (GMT+02:00) Harare, Pretoria |
145 | Russian Standard Time | (GMT+03:00) Moscow, St. Petersburg, Volgograd |
150 | Arab Standard Time | (GMT+03:00) Kuwait, Riyadh |
155 | E. Africa Standard Time | (GMT+03:00) Nairobi |
158 | Arabic Standard Time | (GMT+03:00) Baghdad |
160 | Iran Standard Time | (GMT+03:30) Tehran |
165 | Arabian Standard Time | (GMT+04:00) Abu Dhabi, Muscat |
170 | Caucasus Standard Time | (GMT+04:00) Baku, Tbilisi, Yerevan |
175 | Transitional Islamic State of Afghanistan Standard Time | (GMT+04:30) Kabul |
180 | Ekaterinburg Standard Time | (GMT+05:00) Ekaterinburg |
185 | West Asia Standard Time | (GMT+05:00) Islamabad, Karachi, Tashkent |
190 | India Standard Time | (GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi |
193 | Nepal Standard Time | (GMT+05:45) Kathmandu |
195 | Central Asia Standard Time | (GMT+06:00) Astana, Dhaka |
200 | Sri Lanka Standard Time | (GMT+06:00) Sri Jayawardenepura |
201 | N. Central Asia Standard Time | (GMT+06:00) Almaty, Novosibirsk |
203 | Myanmar Standard Time | (GMT+06:30) Yangon Rangoon |
205 | S.E. Asia Standard Time | (GMT+07:00) Bangkok, Hanoi, Jakarta |
207 | North Asia Standard Time | (GMT+07:00) Krasnoyarsk |
210 | China Standard Time | (GMT+08:00) Beijing, Chongqing, Hong Kong SAR, Urumqi |
215 | Singapore Standard Time | (GMT+08:00) Kuala Lumpur, Singapore |
220 | Taipei Standard Time | (GMT+08:00) Taipei |
225 | W. Australia Standard Time | (GMT+08:00) Perth |
227 | North Asia East Standard Time | (GMT+08:00) Irkutsk, Ulaanbaatar |
230 | Korea Standard Time | (GMT+09:00) Seoul |
235 | Tokyo Standard Time | (GMT+09:00) Osaka, Sapporo, Tokyo |
240 | Yakutsk Standard Time | (GMT+09:00) Yakutsk |
245 | A.U.S. Central Standard Time | (GMT+09:30) Darwin |
250 | Cen. Australia Standard Time | (GMT+09:30) Adelaide |
255 | A.U.S. Eastern Standard Time | (GMT+10:00) Canberra, Melbourne, Sydney |
260 | E. Australia Standard Time | (GMT+10:00) Brisbane |
265 | Tasmania Standard Time | (GMT+10:00) Hobart |
270 | Vladivostok Standard Time | (GMT+10:00) Vladivostok |
275 | West Pacific Standard Time | (GMT+10:00) Guam, Port Moresby |
280 | Central Pacific Standard Time | (GMT+11:00) Magadan, Solomon Islands, New Caledonia |
285 | Fiji Islands Standard Time | (GMT+12:00) Fiji Islands, Kamchatka, Marshall Islands |
290 | New Zealand Standard Time | (GMT+12:00) Auckland, Wellington |
300 | Tonga Standard Time | (GMT+13:00) Nuku'alofa |
2. Add it in to the cloud service ( Not to the cloud service project )
*Add it to project which identifies as role (web, worker) by cloud project . In following example You need to add batch file into WebRole1 project
3. Then R-Click on the batch file and select properties from visual studio . In properties under the Advanced change Copy To Output Directory property in to copy always.
4. Then go to the Cloud project and open the ServiceDefinition.csdf file
5. Under WebRole Tag add Start up task as follow .
<WebRole name="*****" vmsize="Small"> <Startup> <Task commandLine="NameOfBatchFile.bat" executionContext="elevated" taskType="simple"/> </Startup>
<Sites> <Site name="Web"> <Bindings> <Binding name="Endpoint1" endpointName="Endpoint1" /> </Bindings> </Site> </Sites> <Endpoints> <InputEndpoint name="Endpoint1" protocol="http" port="80" /> </Endpoints> </WebRole>
Now it is done ... You free to go with your cloud service
Enjoy
0 comments:
Post a Comment