AspenTech IP.21 Data Часовой пояс - PullRequest
0 голосов
/ 04 марта 2019

Я делаю простой запрос для получения данных через ODBC и OdbcDataReader.Однако я не могу определить часовой пояс возвращаемых данных.Я проверил каждый документ, и ничто не говорит мне, что это (UTC или местный).Я попытался найти параметр в SQL Plus и не смог найти там что-то еще.

Кто-нибудь знает или знает, что скажут документы?Спасибо!

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

@ Madgui правильно с информацией о часовом поясе.Однако я хотел упомянуть кое-что еще.

В SQLplus, если вы используете SELECT ISO8601(IP_TREND_TIME) в своем запросе, вам будет возвращена строка ISO8601 .

Если вы что-то делаете, скажем, в C # и вам нужноэто время в формате UTC, вам нужно будет сделать следующее: DateTime.SpecifyKind(DateTime.Parse(datareader["TREND_TIME"].ToString()).ToUniversalTime(), DateTimeKind.Utc)

DateTim.Parse вернется в качестве ЛОКАЛЬНОГО времени, просто к вашему сведению, поэтому вам необходимо использовать .ToUniversalTime ().Кроме того, никогда не плохая идея классифицировать как UTC.

0 голосов
/ 05 марта 2019

В AspenTech IP21 SqlPlus каждая отметка времени соответствует вашему часовому поясу сервера.Если вас интересует только смещение UTC (будьте осторожны, часовой пояс не только это), вы можете задать серверу его текущее время и выполнить расчет:

--something like that :
WRITE GETDBTIME;

Кроме того, если у вас есть права на сервереВы можете вызвать системную команду (проверьте документ на предмет правильного синтаксиса), чтобы получить имя часового пояса:

SYSTEM 'tzutil /g';

Screenshot with result

...