Преобразовать в текущий часовой пояс в vb.net - PullRequest
0 голосов
/ 21 апреля 2020

Когда я выбираю дату из Oracle, я добавляю встроенный запрос в код моего сервера как,

cast((CURRENT_TIMESTAMP AT TIME ZONE 'Europe/Amsterdam') AS DATE)

Тот же формат, что и в приведенном ниже коде,

dim currentDate as datetime= DateTime.Now

С уважением, Сангита

1 Ответ

0 голосов
/ 21 апреля 2020

Показанный код Oracle возвращает текущую дату и время в Амстердаме и усекает время, приводя его к типу DATE.

Эквивалентный код VB. Net будет:

Dim dt as Date
dt = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "W. Europe Standard Time").Date

Обратите внимание на .Date в конце. Это устанавливает время на ноль, подобно тому, как вы усекали время в Oracle. Если вы этого не хотите, то оставьте .Date выключенным.

Это также предполагает, что вы работаете на Windows. Если вы работаете. NET на платформе, отличной от Windows, вы можете использовать ту же строку, что и на oracle, "Europe/Amsterdam".

...