Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: usage of new_time() function
Steven Haas wrote:
>
> Hey folks,
>
> Oracle 8.1.7, Solaris
>
> I have a possible requirement that all record
> timestamps must use GMT. Has anyone found an
> easy way to determine the sysdate timezone to use
> in the new_time() function.
>
> Thanks much...
>
> Steve
Steve,
I have very recently played a little bit with such things, and it seems to me pretty messy, especially when you happen to live in time zones whence you need not even think about sending your resume to OraStaff (seems better in 9.x).
I have a few days ago discovered the command :
ALTER DATABASE SET TIME_ZONE = 'blahblah'; where 'blahblah' can be specified either as a code (which doesn't really solve your problem) or as '+00:00' or '-00:00' to specify your offset to/from GMT, which I find easier to guess. Once your database knows where it stands, you can use function dbtimezone (which for a reason I have been too lazy to find out I had to specify as sys.standard.dbtimezone in a procedure) to get it. Then, you can compute the GMT date as follows :
declare
my_timezone varchar2(30);
pos number;
timeoffset number;
begin
select sys.standard.dbtimezone
into my_timezone
from dual;
pos := instr(my_timezone, ':');
if (pos = 0)
then
-- -- Timezone was specified as an abbreviation --
-- -- Timezone was specified as a time offset -- timeoffset := to_number(substr(my_timezone, 2, pos-2))/24 + to_number(substr(my_timezone, pos+1,2))/1440;if (substr(my_timezone, 1, 1) = '-') then
Create a packaged function GMTDATE, compute timeoffset as above in the initialization section of the package, and then simply make GMTDATE return SYSDATE + timeoffset and it should do.
HTH,
Stephane Faroult
Oriole Software
-- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Stephane Faroult INET: sfaroult_at_oriole.com Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).Received on Thu Nov 14 2002 - 10:18:37 CST