difference in hours between two time zones of differnet

I have a sysdate (EAST) and a function util_pkg.local_tz returns a different datetime value.
I need to get the difference in hours between sysdate and another date.

Select sysdate, util_pkg.local_tz (sysdate, ' Asia/Seoul') of double;

18/05/2011 11:15:00.000000000 FROM 18/05/2011 10:15 PM + 09:00

Quest:-find the difference in hours between these two date and then add the difference of hours + sysdate

FUNCTION local_tz (p_datetime IN TIMESTAMP,
                      p_timezone IN VARCHAR2)
      RETURN TIMESTAMP WITH TIME ZONE
   AS
   BEGIN
      RETURN FROM_TZ(p_datetime, TZ_OFFSET(con_database_timezone))
                     AT TIME ZONE TZ_OFFSET(p_timezone);
   END local_tz;

When you calculate the diff between TIMESTAMP WITH TZ they both are converted to time UTC (in fact they are stored as UTC). So diff between SYSTIMESTAMP in EST and SYSTIMESTAMP in Seoul will always be 0, as bioth are "now". You need to cast TIMESTAMP WITH TZ 'losing' time zone timestamp:

SQL> select cast(systimestamp at time zone 'Asia/Seoul' as timestamp) - systimestamp from dual;

CAST(SYSTIMESTAMPATTIMEZONE'ASIA/SEOUL'ASTIMESTAMP)-SYSTIMESTAMP
---------------------------------------------------------------------------
+000000000 13:00:00.000000

SQL>  

SY.

Tags: Database

Similar Questions

  • How to find the hours between two times

    Hai All

    I had a problem I need to calculate work time

    For example

    Respondent outtime

    0815 1715

    So I need to calculate a time between these two times

    How can I do using function for 100 our

    Concerning

    Srikkanth.M

    Hello

    use the below the update statement.

    update dail_att set wtime =  extract(hour from (to_date(outtime,'HH24:MI')-to_date(intime,'HH24MI')) day to second);
    

    Solution of the sample...

    PRAZY@11gR1> desc dte;
     Name            Null?    Type
     ------------------- -------- --------
     INTIME           VARCHAR2(4)
     OUTTIME        VARCHAR2(4)
     HRS                NUMBER
    
    PRAZY@11gR1> select * from dte;
    
    INTIME     OUTTIME           HRS
    ---------- ---------- ----------
    0815       1715
    0900       1800
    0830       1630
    
    Elapsed: 00:00:00.00
    PRAZY@11gR1> update dte set hrs = extract(hour from(to_date(outtime,'HH24MI')-to_date(intime,'HH24MI')) day to second);
    
    3 rows updated.
    
    Elapsed: 00:00:00.01
    PRAZY@11gR1> select * from dte;
    
    INTIME     OUTTIME           HRS
    ---------- ---------- ----------
    0815       1715                9
    0900       1800                9
    0830       1630                8
    
    Elapsed: 00:00:00.00
    

    Kind regards
    Prazy

    Published by: Prazy on March 24, 2010 12:43

  • Calculate elapsed hours between two time fields

    I have a form with fields TimeStart and TimeEnd. Both are formatted as field time in the format hh: mm tt. I also have a field called hours with the number format. Here is the Javascript code that I have in the section calculation Script custom field hours. Could someone tell me why it doesn't work? This script started as a date calculation script (work), and I changed to the calculation of hours instead of days.

    var strStart = this.getField("TimeStart").value;

    var strEnd = this.getField("TimeEnd").value;

    If (strStart.length & & strEnd.length)

    {

    var timeStart = util.scand ("h: mm tt", strStart);

    var timeEnd = util.scand ("h: mm tt", strEnd);

    diff var = timeEnd.getTime () - timeStart.getTime ();

    var hour = 60 * 60 * 1000;

    var h = Math.floor (diff/oneHour);

    Event.Value = hours;

    }

    of another event.value = 0;

    The order for the calculation of the fields is wrong, you need to update.

  • Difference between two times

    I am building a working method in LiveCycle, and I want to track how long the procedure takes. To do this, I have two time fields, and then a third time field to find the difference between two time fields. Looking at other posts to discussion, I could find a Javascript code that was part of what I wanted, but I can't get the third time field to display in the format I want. I tried to change the habits of the fields and that did not work. Could someone offer some advice on how to change the format or help me with the code?  I couldn't figure to attach the actual file, but I have attached a picture of the PDF file and the Javascript code I used.  If you look at the TimeIn (hh: mm) and time (hh: mm) areas (on the photo, I have attached), you will notice that the TotalTime comes out like HMM, and I want that it out as hh: mm.

    Adobe Time Difference Example.jpg

    Javascript Time Difference Code.jpg

    Any help would be greatly appreciated!

    Thank you

    this.rawValue = (totalHrs > 9? String (totalHrs): '0' + String (totalHrs)) + ':' + (totalMins > 9? String (totalMins): '0' + String (totalMins));

  • Calculate the hours between two dates

    Hello

    I have a requirement to count the hours with 2 given timestamps, something like:
    SQL> select ((to_date('22-oct-2012 13:00:00','dd-mon-yyyy hh24:mi:ss') - to_date('20-oct-2012 13:00:00','dd-mon-yyyy hh24:mi:ss'))*24) B from dual ;
    
             B
    ----------
            48
    However, I wish it would be that simple. I just need to count the hours between two timestamps for the hours of work for example, 08:00 - 17:00, MONDAY to Friday (excluding weekends).
    So lets say I have to count the hours between two dates above the result should be 18 hours not 48 (4 hours on 20/oct, 9 hours on 21/oct to 5 hours 22/oct).
    How can I achieve this? Any idea will be useful.

    Thank you

    My query generates a list of all the hours between the start and end time, filters on the hours that are outside of the hours of work and then account for the remaining lines. Change that to partial hours must just be a case of replace the two occurrences of 1/24 with 24/01/60, then - as say you - Division COUNT (*) by 60.

    There may be performance issues using techniques of generation of line like this, if you put this in a query involving the joining of several lines of other tables (for example where the dates of beginning and end are derived from several employees?) or in several days. If you don't find it then count the number of whole days (taking weekends into account) between dates and work on the partial days after that it could be better. This would probably involve a lot of statements of case (which I don't have time to test it now).

    Ben

  • Calculate the difference in days between two Dates

    Hello

    I'm trying to understand how to calculate the difference in days between two dates using JavaScript in LiveCycle. (Minimum = JavaScript knowledge)

    Where 'Start_Date' and 'Current_Date' are the names of the two dates in the palette of the hierarchy. (the two Date/time field)

    * Current date is using the object > value > execution property > current Date/time

    I need a text or number field showing the difference in days. (Difference_in_Days)

    I noticed the following code is pretty standard among other responses:

    var

    Start_date = new Date (Start_Date);

    var

    Current_Date = new Date (Current_Date);

    var

    nAgeMilliseconds = Current_Date.getTime) - Start_date.getTime ();

    var

    nMilliSecondsPerYear = 365 * 24 * 60 * 60 * 1000 ;

    I know there is lack of code and code above are may not be not correct.

    Please notify.

    OK, that's because of the way that javascript and works of the calculate event.  The field will be filled with whatever the script resolves at the end of execution. Technically, your script does not have a value because the last thing you do is an assignment to a variable.  Change the last line as follows:

    Math.ABS ((firstDate.getTime)

    ((- secondDate.getTime (()) / (oneDay));

    (eliminate the variable assignment) and get rid of the app.alert.  Your script will "return" (have) regardless of the value of calculation from the East and which will be stored in the field.

  • How to make the difference in percentage between two matrices?

    Hello everyone, I just want to ask how to make the difference in percentage between two binary matrices. This is to compare two images converted to matrices in LabView. Thank you.

    Well, in the current image interesting pixels are zero in the reference image. Here is a small example that would take all the zero 100% pixel, then look at the pixels of same in the other image to see how are always 0.

    Modify if needed.

  • Calculate business hours between two dates in a cursor

    Hello, its me again (?).

    Yesterday, I got a solution to a problem here where I need to calculate the hours between two dates, excluding Sat/Sun and from 09:00 to 18:00. I'm now putting this login in a PL/SQL block, so I can calculate it for each record in a slider, all by looping.
    with t (start_date
           ,end_date
           )
    as (select  to_date('22-oct-2012 09:00:00','dd-mon-yyyy hh24:mi:ss') start_dt,
                           to_date('23-oct-2012 09:00:00','dd-mon-yyyy hh24:mi:ss') end_dt
        from dual
       )
    , hrs (dt) as
      (select start_date
       from   t
       union all
       select dt +1/24/60
       from   hrs
       where  hrs.dt < (select end_date-1/24/60 from t)
      )
    select count(*)/60
    from hrs
    where to_char(dt,'dy') not in ('sat','sun')
    and  to_number(to_char(dt,'hh24')) not between 18 and 23
    and  to_number(to_char(dt,'hh24')) not between 0 and 8
    /
    The logic above, I'm up here:
    FOR c_record IN c_1 LOOP
    //For each record, check if the two dates meet the criteria and then raise the counters accordingly
    select  to_date(c_record.REPORTADA,'dd-mon-yyyy hh24:mi:ss') INTO vFch1 FROM DUAL;
    SELECT  to_date(c_record.INICIOREAL,'dd-mon-yyyy hh24:mi:ss') INTO vFch2 FROM DUAL;
    
    IF ((vHoras > 2) AND c_record.PRIORIDAD=3) THEN
      vContOk :=vContOk + 0;
      vContBad := vContBad+1;
      vContOt   := vContOt+1;
    ELSE 
      vContOk :=vContOk +1;
      vContBad := vContBad+0;
      vContOt   := vContOt+1;
    END
        IF;
    
    IF ((vHoras > 4) AND c_record.PRIORIDAD=2) THEN
      vContOk :=vContOk + 0;
      vContBad := vContBad+1;
      vContOt   := vContOt+1;
    ELSE
      vContOk :=vContOk +1;
      vContBad := vContBad+0;
      vContOt   := vContOt+1;
    END IF;
    
    IF ((vHoras > 16) AND c_record.PRIORIDAD=1) THEN
      vContOk :=vContOk + 0;
      vContBad := vContBad+1;
      vContOt   := vContOt+1;
    ELSE
      vContOk :=vContOk +1;
      vContBad := vContBad+0;
      vContOt   := vContOt+1;
    END IF;
    
    END LOOP;
    I really don't like if the performance is horrible because it will run once a month and should spend only 40-100 records.
    However, I can't find a way to use this connection even in this case

    Could you help me?
    Thank you!

    Greetings,
    NACEUR

    N wrote:
    I need to calculate the number of minutes between two dates, only count the hours from 9 to 18hs.

    CREATE OR REPLACE
      FUNCTION get_bus_minutes_between(
                                       p_start_date DATE,
                                       p_end_date DATE
                                      )
        RETURN NUMBER
        IS
            v_return NUMBER;
        BEGIN
            with t as (
                       select  case level
                                 when 1 then greatest(p_start_date,trunc(p_start_date) + 9 / 24)
                                 else trunc(p_start_date) + level - 15 / 24
                               end start_dt,
                               case connect_by_isleaf
                                 when 1 then least(p_end_date,trunc(p_end_date) + 18 / 24)
                                 else trunc(p_start_date) + level - 8 / 24
                               end end_dt
                         from  dual
                         connect by level <= trunc(p_end_date) - trunc(p_start_date) + 1
                      )
            select  sum(greatest(end_dt - start_dt,0)) * 24 * 60 work_minutes
              into  v_return
              from  t
              where trunc(start_dt) - trunc(start_dt,'iw') < 5; -- exclude weekends
            RETURN v_return;
    END;
    /
    

    For example:

    SQL> select get_bus_minutes_between(
      2                                 to_date('20-oct-2012 13:00:00','dd-mon-yyyy hh24:mi:ss'),
      3                                 to_date('22-oct-2012 13:21:00','dd-mon-yyyy hh24:mi:ss')
      4                                ) work_minutes
      5    from dual
      6  /
    
    WORK_MINUTES
    ------------
             261
    
    SQL> 
    

    SY.

  • find the difference in days between two dates

    Hello world

    I'm trying to find out the difference in days between two dates and the execution of the query that I'm passing

    SELECT TO_char(sysdate, 'dd/mm/yyyy') - TO_char('15/11/2011', 'dd/mm/yyyy') DAYS FROM DUAL

    the error I get is

    ORA-01722: invalid number
    01722 00000 - "invalid number."
    * Cause:
    * Action:

    Could someone please help.

    Thanks in advance

    user10636796 wrote:
    Hello world

    Thanks a lot for all the replies. I am trying to apply it in a statement to my table like this

    SELECT trunc (sysdate) - TO_char (date_last_recommended, ' dd/mm/yyyy') DAYS OF recommendation;

    SELECT trunc (sysdate) - TRUNC (date_last_recommended) DAYS OF recommendation;

  • Formula of FormCalc to make the difference between two time fields if they are populated - help please


    Hello

    I have a laptop (TotalTime1) which refers to two other cells in the updated hour-shaped (Start1 and 1 to finish).

    The formula below is intended to make the difference between the time of departure and of arrival if they are populated.

    I had to work unconditionally HasValue, but the formula was calculated when there is no value in the Start1 and Finish1 (due to the time format).

    This is the code I have, it is said that there is an error of almost the last line; I'm sorry if I'm posting this in the wrong way, I haven't posted on this forum before but this is:

    If (HasValue (Finish1) and HasValue (Start1)) then if (Time2Num (Start1.formattedValue, "HH: mm") < Time2Num (Finish1.formattedValue, "Hh: mm")) then Abs (Time2Num (Start1.formattedValue, "HH: mm")-Time2Num (Finish1.formattedValue, "HH: mm")) / (60 * 60 * 1000) another 24 - ABS (Time2Num (Finish1.formattedValue, "HH: mm")-Time2Num (Start1.formattedValue, "HH: mm")) / (60 * 60 * 1000) endif

    Any help would be appreciated.

    Cordially Fetachini

    you need an another endif at the end (you have nested statement and only 1 endif)

  • calculation of time between two time as timestamp

    How can calculate two hour, START as the timestamp TIME in the data type, END TIME as of time also.

    select END_TIME-START_TIME from PROG_DLY_WORK
    

    Result

    + 01:50:00.000000 000000000

    How can get exactly the time spent as 01:50 ? and these calculated time must sum (elapsed_time) in another column.

    oracle as PaaS cloud environment

    Product VERSION STATUS
    NLSRTL11.2.0.3.0Production
    Oracle Database 11g Enterprise Edition11.2.0.3.064 bit Production
    PL/SQL11.2.0.3.0Production
    AMT for Linux:11.2.0.3.0Production

    Time difference between two columns in hours

    Start

    FOR REC IN (SELECT START_TIME, END_TIME, CALC_TIME CAL_ID)

    LOOP

    UPDATE CALc_TIME

    SET ELAPSED_TIME = round (())

    TO_DATE (to_char (REC. End_time, 'ddmmyyyyhh24miss'),

    "ddmmyyyyhh24miss")-

    TO_DATE (to_char (REC. Start_time, 'ddmmyyyyhh24miss'),

    "ddmmyyyyhh24miss")

    () * 24).

    WHERE CAL_ID = REC. CAL_ID;

    END LOOP;

    end;

    Lag in minutes

    Start

    FOR REC IN (SELECT START_TIME, END_TIME, CALC_TIME CAL_ID)

    LOOP

    UPDATE CALc_TIME

    SET ELAPSED_TIME = round (())

    TO_DATE (to_char (REC. End_time, 'ddmmyyyyhh24miss'),

    "ddmmyyyyhh24miss")-

    TO_DATE (to_char (REC. Start_time, 'ddmmyyyyhh24miss'),

    "ddmmyyyyhh24miss")

    () * 24 * 60)

    WHERE CAL_ID = REC. CAL_ID;

    END LOOP;

    end;

  • Count the hours between the times of the day

    Hello

    It is a timesheet, calculation of payment:

    I'm trying to find a way to calculate how many hours is between two specific times of the day.

    I enter a start time and an end time (in 2 different items), I calculate the number of hours that is. What I can understand.

    Then I need to know how many hours is between 16:00 and 22:00.

    The reason is that there is an additional extra payment for those hours.

    So: "payment on time' X ' total hours work in a day ' + 'bonus' X ' hours between 16 and 22" = "total wages for a day" "»

    Thank you

    Enter the full date and time in columns A and B (for example ' 12 Sep 2016 8:00 AM "or you like the what ever valid date time value):

    C2 = B2−A2

    D2 = C2−DURATION (0, 0, 24 × MAX (TIMEVALUE "(04:00 PM)") −TIMEVALUE (A2), 0)) −DURATION (0, 0, 24 × MAX (TIMEVALUE (B2) −TIMEVALUE (' 22:00 "" "), 0))

    Select cells C2 and D2, copy

    Select cells C2 at the end of column D, dough

    If you prefer the values in column D as decimal hours use the formula:

    dur2hours (D2)

    or replace the formula earlier as follows:

    D2 = dur2hours (C2−DURATION (0, 0, 24 × MAX (TEMPSVAL ("04:00 PM") −TIMEVALUE (A2), 0)) −DURATION (0, 0, 24 × MAX (TIMEVALUE (B2) −TIMEVALUE (' 22:00 "" "), 0)))

  • How to calculate the hours between two dates by the numbers

    If I update 09:00 start time 17:00 end time of shift in C3 and B3, how to use a D3 formula to calculate the number of hours between the two?  Then I can just copy down the lines for nth years...

    It is a spreadsheet of the part-time staff payroll.

    I'm sure that a lot of people out there have done that.

    Help, please.

    Thank you.

    Eddie

    What program of worksheet that you are using? Since you have a newer iMac running El Capitan, I can safely assume that you use NOT AppleWorks, which is a Power PC application that can run on any OS newer than the snow leopard, OS X 10.6.8.

    If you use numbers, try to repost your question in numbers for Mac forum. If you use Microsoft Excel, try posting in the Microsoft forums. LibreOffice also has community support.

  • How to find the difference "within weeks" between two date values?

    Hi all

    Jdev version 11.1.1.7.1

    I used two < af:inputDate > & a < af:inputText > < af:panelFormLayout > components. My requirement is, I want to display the difference of weeks between these two day values in the inputText component when the user clicks the shape.

    Any suggestion would be appreciated.

    Kind regards


    Novel

    You can use this method to get the number of days between the day and date, and then divided by 7 to get the number of weeks

    public static long getDifferenceDaysBetweenTwoDates (d1, d2 oracle.jbo.domain.Date oracle.jbo.domain.Date)

    {

    If (d1! = null & d2! = null)

    {

    return (d1.getValue () .getTime () - d2.getValue () .getTime ()) / (24 * 60 * 60 * 1000);

    }

    return 0;

    }

    Check - http://sameh-nassar.blogspot.in/2014/10/dealing-with-dates-in-java.html

    Ashish

  • Calculations between two time fields

    Hello

    I have a form with a time for the start time field and a text field for the user to enter a duration (for example, 00:30:00).

    There is another field for the end of time (which has a calculation script using the date and starting time fields).

    The script that was placed in the end time field works except the script gives a negative result.

    For example the start time field is 16:03:33 and 00:30:00 duration field calculation end is showing time field-

    Please can someone advise how I can change the script of the time field end to show the correct result of 16:33 (without the negative)?


    create string for the current date
    var oToday = new Date();
    sToday var = util.printd ("yyyy/mm/dd", oToday);

    get the value of the start time field

    var sStart = this.getField("Action_Start_Time").value;

    create the JavaScript date object time for start time
    var start = util.scand ("yyyy/mm/dd hh: mm:", sToday + sStart);


    get the duration value

    Send var = this.getField("Action_Time").value;

    create a JavaScript date object time to end time
    oEnd var = util.scand ("yyyy/mm/dd hh: mm", sToday + shipment);

    calculate the difference in hours, the difference in hours
    var DiffHours = (oEnd.valueOf () - oStart.valueOf (()) / 1000 / 60 / 60;
    Event.Value = Math.floor (DiffHours) + ': ' + util.printf ("%,302.0f", (((DiffHours % 1) * 60) .toFixed (()));

    Any help will be greatly appreciated.

    You cannot change the '-' operator operator '+' being Modulo calculation date and time calculations. You must calculate the different parts of the date and time of the start time and elapsed time and then convert these values into a date object time and format of this new date time object.

    Clear the field
    Event.Value = "";
    getting the activity start time
    var sEventStart = this.getField("Activity_Start_Time").value;
    calculate only if there is a start time
    If (sEventStart! = "") {}
    operations of the console are for debugging and illustration
    /*
    Console.Show ();
    Console.clear();
    */
    convert a date object change if necessary format
    var oEventStart = util.scand ("YYYY, mm, DD, HH", nNowYear + "," + (nNowMonth + 1) + ',' + nNowDate + ', ' + sEventStart);
    Console.println ("oEventStart:" + oEventStart);

    get the date current time
    var oNow = new Date();
    Console.println ("oNow:" + oNow);
    get the date parts
    var nNowYear = oNow.getFullYear ();
    var nNowMonth = oNow.getMonth ();
    var nNowDate = oNow.getDate ();
    /*
    Console.println ("nNowYear:" + nNowYear);
    Console.println ("nNowMonth:" + nNowMonth);
    Console.println ("nNowDate:" + nNowDate);
    */
    get the duration of activity
    var sEventDuration = this.getField('Event_Duration').value;
    If no entry in force at time zero
    if(sEventDuration == '') sEventDuration = "00:00:00 ';
    convert the time in hours and minutes
    var aEventDuration = sEventDuration.split(":");
    /*
    Console.println (' hours - aEventDuration [0]: "+ aEventDuration [0]");
    Console.println ('Minutes - aEventDuration [1]: "+ aEventDuration [1]");
    Console.println (' hours start: "+ oEventStart.getHours ());
    Console.println ("minutes:" + oEventStart.getMinutes ());
    Console.println ("second Start:" + oEventStart.getSeconds ());
    */
    calculate the minutes and the end times
    var nEndHour = Number (oEventStart.getHours ()) + Number(aEventDuration[0]);
    var nEndMinute = Number (oEventStart.getMinutes ()) + Number(aEventDuration[1]);
    if(aEventDuration.Length == 3)
    var nEndSecond = Number (oEventStart.getSeconds ()) + Number(aEventDuration[2]);
    on the other
    var nEndSecond = Number (oEventStart.getSeconds () + 0;
    /*
    Console.println ("nEndHour:" + nEndHour);
    Console.println ("nEndMinute:" + nEndMinute);
    Console.println ("nEndSecond:" + nEndSecond);
    Console.println ("nNowYear:" + nNowYear);
    Console.println ("nNowMonth:" + nNowMonth);
    Console.println ("nNowDate:" + nNowDate);
    */
    do the date for the end of the event object - calculate the hours and minutes
    oEnd var = new Date (nNowYear, nNowMonth, nNowDate, nEndHour, nEndMinute, nEndSecond);
    Console.println ('oEnd: ' + oEnd);
    change the format if necessary
    Event.Value = util.printd ("HH", oEnd);
    } / / end of event time

Maybe you are looking for

  • Many Add - ons unverified after FF43 update

    Many Add-ons appeared as not verified after FF43 update. I used them for a long time and they were perfectly fine with previous versions of FF. How can I continue to use? Even the dictionary with my local language and the DAP are unverified. How can

  • Qosmio G40-108 - prevent recovery of product disc ask to insert the disc

    I have a Qosmio G40-108 and it works fine even if the disc is not read discs any longer, perhaps because of a motherboard failure that I replace the disk with a new of brans and it still does not work, but my problem is the following... I have the pr

  • Exceeded number of activations due to error of Windows 8.

    I had installed Windows 8 preview of consumer on my XP (with Service Pack 3). Could not get her to function. Tried the suggestions of all the forums without success. Had to erase hard drive and reinstall XP. Now system I cannot save what I can get up

  • Pavilion DV6500 does not illuminate

    Product HP Pavilion dv6500 s/n: [personal information deleted] P/N: GS662UA #ABA Original: Windows Vista Home Premium OEMAct Now: Windows 7 Home Prem Computer a new battery, new battery and new charger. Battery is installed and the charger plug. Blue

  • BATTERY METER HAS DISAPPEARED FROM THE NOTIFICATION AREA

    AFTER ERROR START BACK START EARLY AND HAS OBTAINED, IT WORK - EXCEPT THAT THE BATTERY METER HAS DISAPPEARED FROM THE NOTIFICATION (NEXT TO TASK BAR) AREA. DON'T KNOW HOW TO RESTORE THE VISIBILITY OF THE BATTERY METER IN THE NOTIFICATION AREA. Help,