28 Mar 2022
I was asked by someone to help them display the current date and time as it is in British Summer Time or Daylight Saving Time on their website using C# Here is the solution I gave them:
//get the current UTC time DateTime localServerTime = DateTime.UtcNow; //Find out if the GMT is in daylight saving time or not. var info = TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time"); var isDaylightSaving = info.IsDaylightSavingTime(localServerTime); //set the time to be the local server time var correctDateTime = localServerTime; //if the zone is in daylight saving add an hour. if (isDaylightSaving) { correctDateTime = correctDateTime.AddHours(1); } //get the UK culture and return the correct date time in the correct format var culture = new CultureInfo("en-GB"); Console.WriteLine(correctDateTime.ToString(culture));
I know it is specific to GMT and BST but you could take it and modify it to your needs.