92 lines
3.5 KiB
Plaintext
92 lines
3.5 KiB
Plaintext
CREATE OR REPLACE PACKAGE EFT_NOM.cout_dates IS
|
|
|
|
/**
|
|
-- Purpose : Date calculation routines
|
|
-- #version $Revision: 1 $
|
|
-- #author $Author: Gilberta $
|
|
-- Created : 17/11/2004 10:31:16
|
|
*/
|
|
|
|
/*
|
|
$Header: /Isle Of Grain/database/PLSQL/cout_dates.pck 1 7/01/05 12:54 Gilberta $ Logfile, Revision, Date, Author
|
|
|
|
$Datetime: $ Date and time of last checkin
|
|
$Modtime: 4/01/05 16:41 $ Date and time of last modification
|
|
|
|
$History: cout_dates.pck $
|
|
*
|
|
* ***************** Version 1 *****************
|
|
* User: Gilberta Date: 7/01/05 Time: 12:54
|
|
* Created in $/Isle Of Grain/database/PLSQL
|
|
* Initial Version
|
|
*/
|
|
|
|
/**
|
|
Function to take a gas day (a date expressed without a time component) and
|
|
return a date with a time component representing the start of the
|
|
gas day with time component.
|
|
<B>Note</B> Assumes that a gas day has 24 hours.
|
|
#param p_gas_day
|
|
#return date representing the start date and time of the given gas day
|
|
*/
|
|
FUNCTION convert_gas_day_to_date(p_gas_day IN DATE) RETURN DATE;
|
|
|
|
/**
|
|
Function to take a date (expressed with a time component) and
|
|
return the gas day on which the date occurs.
|
|
<B>Note</B> Assumes that a gas day has 24 hours.
|
|
#param p_date date expressed with a time component
|
|
#return date (expressed without time component) representing a gas day
|
|
*/
|
|
FUNCTION convert_date_to_gas_day(p_date IN DATE) RETURN DATE;
|
|
|
|
/**
|
|
-- FUNCTION translate_date --
|
|
-- Translate a given date from local timestamp to target timestamp
|
|
--
|
|
-- %param p_conv_datetime The date to be converted
|
|
-- %param p_timeszone_from The timezone we are converting FROM (default g_local_timezone = Europe/Budapest)
|
|
-- %param p_timezone_to The timezone we are converting TO (default g_target_timezone = GMT)
|
|
--
|
|
-- %return A date converted to the target timezone
|
|
*/
|
|
FUNCTION translate_date ( p_conv_datetime IN DATE
|
|
, p_timezone_from IN VARCHAR2 DEFAULT cout_system_configuration.get_configuration_item('G_LOCAL_TIMEZONE')
|
|
, p_timezone_to IN VARCHAR2 DEFAULT cout_system_configuration.get_configuration_item('G_TARGET_TIMEZONE') )
|
|
RETURN DATE;
|
|
|
|
/**
|
|
-- FUNCTION check_hours_in_gas_day --
|
|
-- Returns number of hours for the given gas day
|
|
-- Required for Daylight Saving checks where the hours in a day can be 23 or 25
|
|
--
|
|
-- %param p_gas_day The date being checked (This MUST be provided in local time NOT gmt)
|
|
--
|
|
-- %return NUMBER. Number of hours in the given gas day
|
|
--
|
|
-- Note: The gas day given is assumed to be the 6am START of the gas day being checked.
|
|
*/
|
|
FUNCTION hours_in_gas_day( p_gas_day IN DATE )
|
|
RETURN NUMBER;
|
|
|
|
/**
|
|
Function to take a gas day (a date expressed without a time component) and
|
|
the number of hours in that day, taking into account any daylight savings in effect.
|
|
<B>Note</B> Assumes that a normal gas day has 24 hours.
|
|
#param p_gas_day
|
|
#return number of hours in the given gas day
|
|
*/
|
|
FUNCTION get_dst_hours(p_gas_day IN DATE) RETURN NUMBER;
|
|
|
|
/**
|
|
Function to take a gas day (a date expressed without a time component) and produce
|
|
an array of the number of hours in that day, taking into account any daylight savings in effect.
|
|
<B>Note</B> Assumes that a normal gas day has 24 hours.
|
|
#param p_gas_day
|
|
#return an array of number of hours in the given gas day
|
|
*/
|
|
FUNCTION get_hours(p_gas_day IN DATE) RETURN t_int_array;
|
|
END cout_dates;
|
|
/
|
|
|