Пожалуйста, посмотрите на эту скрипку . Это рабочий пример того, что вы пытаетесь сделать.
Я копирую / пропускаю твой код, кажется, ты не написал контроллер.
function ToolCtrl($scope) {
this.selectedItem = $scope.selectedItem;
}
Я нашел, что установка TimeZone и формата в рамках ODP.NET, когда соединение открыто, кажется, решает эту проблему:
OracleGlobalization info = conn.GetSessionInfo();
info.TimeZone = "Pacific/Auckland";
info.TimeStampFormat = "DD-MON-YYYY HH:MI:SS.FF AM";
info.TimeStampTZFormat = "DD-MON-YYYY HH:MI:SS.FF AM TZR";
conn.SetSessionInfo(info);
Довольно легко протестировать
create table foo ( tswtz TIMESTAMP WITH TIME ZONE);
/
insert into foo values (TO_TIMESTAMP_TZ ('21-FEB-2009 18:00:00 -5:00', 'DD-MON-YYYY HH24:MI:SS TZH:TZM'));
insert into foo values (TO_TIMESTAMP_TZ ('21-FEB-2009 18:00:00 EST', 'DD-MON-YYYY HH24:MI:SS TZR'));
select tswtz, extract(timezone_abbr from tswtz), extract(TIMEZONE_REGION from tswtz)
from foo;
TSWTZ EXTRACT(TIMEZONE_ABBRFROMTSWTZ) EXTRACT(TIMEZONE_REGIONFROMTSWTZ)
------------- ------------------------------- ----------------------------------------------------------------
21-FEB-09 06.00.00.000000000 PM -05:00 UNK UNKNOWN
21-FEB-09 06.00.00.000000000 PM EST EST EST
2 rows selected
Это хранит то, что Вы говорите этому. Если Вы говорите этому смещение, которые смещают, могло быть хорошо для одного или нескольких часовых поясов, итак, почему это просто выберет тот?