Daylight Savings time

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Is there a way to check if it is daylight savings or not via c#? I have
heard you can use System.Globalization?

Thanks - Drew
 
There's an example in MSDN help

http://msdn.microsoft.com/library/d.../cpref/html/frlrfsystemtimezoneclasstopic.asp



// Example of selected TimeZone class elements.
using System;
using System.Globalization;

class TimeZoneDemo
{
static void Main( )
{
const string dataFmt = "{0,-30}{1}";
const string timeFmt = "{0,-30}{1:yyyy-MM-dd HH:mm}";

Console.WriteLine(
"This example of selected TimeZone class " +
"elements generates the following \n" +
"output, which varies depending on the " +
"time zone in which it is run.\n" );

// Get the local time zone and the current local time and year.
TimeZone localZone = TimeZone.CurrentTimeZone;
DateTime currentDate = DateTime.Now;
int currentYear = currentDate.Year;

// Display the names for standard time and daylight saving
// time for the local time zone.
Console.WriteLine( dataFmt, "Standard time name:",
localZone.StandardName );
Console.WriteLine( dataFmt, "Daylight saving time name:",
localZone.DaylightName );

// Display the current date and time and show if they occur
// in daylight saving time.
Console.WriteLine( "\n" + timeFmt, "Current date and time:",
currentDate );
Console.WriteLine( dataFmt, "Daylight saving time?",
localZone.IsDaylightSavingTime( currentDate ) );

// Get the current Coordinated Universal Time (UTC) and UTC
// offset.
DateTime currentUTC =
localZone.ToUniversalTime( currentDate );
TimeSpan currentOffset =
localZone.GetUtcOffset( currentDate );

Console.WriteLine( timeFmt, "Coordinated Universal Time:",
currentUTC );
Console.WriteLine( dataFmt, "UTC offset:", currentOffset );

// Get the DaylightTime object for the current year.
DaylightTime daylight =
localZone.GetDaylightChanges( currentYear );

// Display the daylight saving time range for the current year.
Console.WriteLine(
"\nDaylight saving time for year {0}:", currentYear );
Console.WriteLine( "{0:yyyy-MM-dd HH:mm} to " +
"{1:yyyy-MM-dd HH:mm}, delta: {2}",
daylight.Start, daylight.End, daylight.Delta );
}
}

/*
This example of selected TimeZone class elements generates the
following
output, which varies depending on the time zone in which it is run.

Standard time name: Pacific Standard Time
Daylight saving time name: Pacific Standard Time

Current date and time: 2003-05-08 11:10
Daylight saving time? True
Coordinated Universal Time: 2003-05-08 18:10
UTC offset: -07:00:00

Daylight saving time for year 2003:
2003-04-06 02:00 to 2003-10-26 02:00, delta: 01:00:00
*/
 
Back
Top