private string CalculateGmtOffset()
{
char sign = '+';
// Note: GetUtcOffset incorporates Daylight Savings offset
int minutes = TimeZone.CurrentTimeZone.GetUtcOffset(ToDateTime()).Minutes;
if (minutes < 0)
{
sign = '-';
minutes = -minutes;
}
int hours = minutes / 60;
minutes %= 60;
return "GMT" + sign + Convert(hours) + ":" + Convert(minutes);
}