Hossein Zahed

Web Developer, Entrepreneur, Software Educator

C# TimeZone Example

There are multiple ways to get the correct time for a zone in C#. This example uses TimeZone property to get the time.

Sample Code:

DateTime irantime = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "Iran Standard Time");

You may change the TimeZone according to your Country/Timezoe by using the table below:

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

How to Export Gridview to PDF in asp.net and C#

1. Add the following method to the code behind of the page:

public override void VerifyRenderingInServerForm(Control control)
    {

    }

2. Download the Attached DLL file called iTextSharp.dll

3. Reference the iTextSharp.dll by adding it to the Bin folder of the website.

4. Add the following NameSpaces to the code behind page:

using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html.simpleparser;

4. Add the following codes on the Post Back action of a button on the page:

protected void GeneratePDFBtn_Click(object sender, EventArgs e)
    {
        gvDataBind(FileNameHF.Value.ToString()); 
        Response.ContentType = "application/pdf";
        Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", Guid.NewGuid() + ".pdf"));
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        StringWriter sw = new StringWriter();
        HtmlTextWriter hw = new HtmlTextWriter(sw);
        gv.AllowPaging = false;
        gv.DataBind();
        gv.RenderControl(hw);
        StringReader sr = new StringReader(sw.ToString());
        Document pdfDoc = new Document(PageSize.A2, 7f, 7f, 7f, 0f);
        HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
        PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
        pdfDoc.Open();
        htmlparser.Parse(sr); pdfDoc.Close();
        Response.Write(pdfDoc);
        Response.End(); 
    }

Download: itextsharp-dll-core.zip (1.68 mb)

How to Export Gridview to Excel in asp.net and C#

1. Add the following method to the code behind of the page:

public override void VerifyRenderingInServerForm(Control control)
    {

    }

2. Add the following codes on the Post Back action of a button on the page:

protected void GenerateExcelBtn_Click(object sender, EventArgs e)
    {
        GridView1.DataBind();
        Response.ClearContent();
        Response.Buffer = true;
        Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", Guid.NewGuid() + ".xls"));
        Response.ContentType = "application/ms-excel";
        StringWriter sw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        gv.AllowPaging = false; gv.DataBind();
        gv.HeaderRow.Style.Add("background-color", "#FFFFFF");
        gv.RenderControl(htw);
        Response.Write(sw.ToString());
        Response.End();
    }

ASP.NET GUID Forms

There are multiple GUID forms that can be generated in asp.net. Here are some examples: 

  • Guid.NewGuid().ToString() => 36 characters (Hyphenated)
    outputs: 12345678-1234-1234-1234-123456789abc

  • Guid.NewGuid().ToString("D") => 36 characters (Hyphenated, same as ToString())
    outputs: 12345678-1234-1234-1234-123456789abc

  • Guid.NewGuid().ToString("N") => 32 characters (Digits only)
    outputs: 12345678123412341234123456789abc

  • Guid.NewGuid().ToString("B") => 38 characters (Braces)
    outputs: {12345678-1234-1234-1234-123456789abc}

  • Guid.NewGuid().ToString("P") => 38 characters (Parentheses)
    outputs: (12345678-1234-1234-1234-123456789abc)