Самый короткий путь, который я нашел, следующий:
MultiValueMap queryParams =
UriComponentsBuilder.fromUriString(url).build().getQueryParams();
UPDATE: UriComponentsBuilder
происходит из Spring. Здесь ссылка .
У платформы .NET уже есть классы и методы, доступные для преобразования DateTimes между разными часовыми поясами. Посмотрите на методы ConvertTime класса TimeZoneInfo .
Редактирование: когда вы получаете время для ввода в базу данных, предполагая, что оно было создано с правильной информацией о часовом поясе, вы можете легко преобразовать в UTC:
DateTime utcTime = inputDateTime.ToUniversalTime();
Получить timeInfo, как это сделано в вопросе редактирования:
TimeZoneInfo timeInfo = TimeZoneInfo.FindSystemTimeZoneById(GetFromConfig.ManilaTimeZoneKey());
Когда вы отправляете время базы данных пользователю, преобразуйте его в правильный часовой пояс, используя timeInfo
.
DateTime userTime = TimeZoneInfo.ConvertTimeFromUtc(dbDateTime, timeInfo);
Лично я бы попытался сохранить эту логику отдельно от методов get / set.
TimeZoneInfo infotime = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time (Mexico)");
DateTime thisDate = TimeZoneInfo.ConvertTimeFromUtc(datetimeFromBD, infotime);