Calculate the number of days off weekends
Hi all
I have a requirement where I have to calculate the difference between two dates, excluding weekends and holidays. Is there a way I can do it in OBIEE analysis.
Any help would be appreciated.
Thanks in advance!
Check it for weekends cool - bi.com
For the holidays, you will need to customize you the size of the day
check if help
Tags: Business Intelligence
Similar Questions
-
Calculate the number of days remaining until the next anniversary. Help, please!
Hi guys,.
I'm new to the forum and to the development of BB. So please do not judge harshly if the answer to my question seems obvious.
I need to calculate the number of days until the next birthday (taking into account any valid birth date)
After looking at the API and the forum search, I realized that I could
calculate the difference between two dates in milliseconds and then divide the delta of the value of a day in milliseconds. That is to say:
birthdayCalendar.set (Calendar.YEAR, those);
Date1 = birthdayCalendar.getTime () .getTime ();
date2 = System.currentTimeMillis ();
Delta = date1 - date2
numOfDays = delta\DateTimeUtilities.ONEDAY
Here's my question. How do I create a valid date1 what about leap years?
Maybe there's a better way to solve this problem?
Any help is greatly appreciated.
I agree that the determination of the number of days between today and Feb. 29 could be a little difficult, if it is not a leap year. I suspect that the calendar has a certain built-in mechanism to compensate for this, but your solution to choose a date is better.
DST has a role to play, and Yes, the calendar makes up for it. Let us take two dates, for example (before DST) March 1 and June 1 (after the DST). If you take a calendar and set the same hour, minute, etc., they are all the same except for dates, then subtract one from the other, and then divide by the number of milliseconds in 1 hour, you calculate the number of hours between the same time on two different days. You will find that it is not a multiple of 24 hours - because there is actually an hour less than the number of days since the clocks move forward (in the northern hemisphere anyway...),
In your case, you are not calculating the number of hours, you calculate the number of days. But you will be dividing by [24 * (time in an hour)]. If you take [23 * (time in an hour)] and divide it by [24 * (time in an hour)], using arithmetic on integers, you will end up 0. The easiest to get around this, who also works for the end of the DST too, is to simply add one hour to the date before the division.
Hope that makes sense...
-
How to calculate the number of days/weeks/months between 2 dates?
Hello
I would like to know how to calculate the number of days/weeks/months between 2 dates in OBIEE 11 g, for example, I have 26/05/2013 and 19/05/2013, then I want to get 7 days.
Thank you!
JamieHi Jamie,
Through this links...
http://www.bravesoft.com/blog/?p=682
http://twobiee.blogspot.in/2012/01/working-with-date-differences.htmlMark as correct it allows u...
Thank you... -
to calculate the number of days between 2 dates
Hi all
I need to calculate the number of days between 2 dates.
Y at - it no oracle built on that basis.
Thanks in advance
Kind regards
Nickuser646786 wrote:
HelloThanks a lot its really useful, but I must make a correction, I just want weekdays rather working days
As already said, there are many examples on the forum of the calculation of the working days or the days of the week or whatever you want between certain dates of restrictions. You will need to have a go at adapting what has already been given before and then when you get stuck, come here and your postcode, and someone will take a look for you.
-
Calculate the number of days between two dates
Hello
Can someone help please change my formcalc script to calculate the number of working days between two date fields. My script currently calculates the total number of days between two dates, including the weekends which must be excluded from the total.
If
(HasValue (Start_Date1) & HasValue (End_Date1)) then
$
= Date2Num (End_Date1, "YYYY-MM-DD" "en_IE") - Date2Num (Start_Date1, "YYYY-MM-DD" "en_IE") + 1
on the other
""
endif
Any help will be most appreciated.
Thank you.
Check...
(1) you said that you put the script on the event «days1» calculate My sample imitates the variable names used in the original message, "Start_Date1" and "End_Date1". If the names of variables for the start and end dates are different, you will need to modify the script to account for these names.
(2) the Date2Num functions in the calculation of the "totalDays" use the date format "YYYY-MM-DD". If your date habits differ from "YYYY-MM-DD" FormCalc will complain.
Steve
-
Dynamically calculate the number of days between two dates and amounts of split
Hello
I have searched for a solution for this, but had no success.
I need to show the amounts broken down by days.
I have a table that has an amount column and start and end dates.
I need to write a query so that the amounts will be broken evenly based on the number of days between the start date and end date.
For example, for this line.
insert into my_test values (' 1, '' 3-mar-2010, ' 7 - mar - 2010 ", 1000);
the query returns this (split $1,000 over 5 days)
ID Date amount
1 ' 3-mar-2010' 200,00
1 ' 4-mar-2010' 200,00
1 ' 5-mar-2010' 200,00
1 ' 6-mar-2010' 200,00
1 ' 7-mar-2010' 200,00
create table my_test)
ID number (10),
start_date date,
End_date date,
amount number (10.2)
);
Select * from my_test
insert into my_test values (' 1, '' 3-mar-2010, ' 7 - mar - 2010 ", 1000);
insert into my_test values (2, 10-mar-2010 ", 19-mar-2010", 2000);
insert into my_test values (3, 20-mar-2010 ',' 21-mar-2010, 5000);
Thanks in advance.Hello
One way is to join a Meter of Table , a table, or (more often) a set of results includes a line for eery number 1, 2, 3,... until the maximum number of times you need to divide a line.
For example:WITH cntr AS ( SELECT LEVEL - 1 AS n FROM ( SELECT MAX (end_date - start_date) AS max_day_cnt FROM my_test ) CONNECT BY LEVEL <= 1 + max_day_cnt ) SELECT t.id , t.start_date + c.n AS dt , t.amount / (t.end_date + 1 - t.start_date) AS amt FROM my_test t JOIN cntr c ON c.n <= t.end_date - t.start_date ORDER BY id , dt ;
This assumes that all dates have the same number of hours, minutes, and seconds, as is the case in your sample data.
If this isn't the case, then use TRUNC (start_date) and TRUNC (end_date) instead of start_date and end_date or post some sample data and results if some lines do not represent a whole number of days. -
How to calculate the number of days between dates
How can I determine the number of days between 2 dates? Say today and 10/07/46
Thanks BobYou could do it like this:
Photoperiod var = 1000 * 60 * 60 24; number of ms in a day
var today: Date = new Date();
var every time that: Date = new Date (1946,6,10);
var diff = Math.floor((today.getTime()-whenever.getTime())/dayLength);
trace (diff)
-
calculate the number of days excluding non-working days
11.2.0.4
theres a fairly common request over the years to get the diff between 2 dates, excluding weekends, theres many ways to to do, however, I would like to go a step further and exclude everything not professional
day.
We have a company function that calculates whether a date is a holiday for our Organization. We can pass a date and we have a Y or N back. In the example below, the l' appel call function shows there for Saturday to show how we can identify the non-working day.
Can anyone think of a way that we could use to get a sum of N s between 2 date fields in a line using this function? IM thinking if we get the right formula/function to create a virtual column with calculating pre built as it can start to get expensive if she had to loop through every possible day between 2 dates to see it is a business day, all by a count.
create the table t1_count
(identification number,
date of TS1,
date of TS2)
insert into t1_Count
values (1, sysdate, sysdate - 7);
insert into t1_Count
values (2, sysdate, sysdate - 4); -Saturday
commit;
SELECT id, ts1 ts2, .isholiday (ts1), isholiday (ts2) of t1_count;
1 06/03/2015-14:30:51 27/05/2015 14:30:51 N N 1 06/03/2015-14:32:29 30/05/2015 14:32:29 N THERE That fold to my brain...
ABS (trunc (sysdate - 40) + level - 1 - trunc (sysdate)) that's equivalent to the abs (level - 41)...
Why not just level<=>=>
-
PL/SQL function to calculate the non-working days
Hello
I have the following pl/sql function which generates a number of days between two selected dates (i.e. excluding weekends). However, I also need to exclude specific holidays - day of Christmas etc. These holiday dates are stored in a table in our database (11 GR 2) called "HOLIDAY".
How can I integrate the holidays which is held in the table of holidays in the following query to exclude these dates as well? I know how to write a separate funtion pl/sql for a number of days between two dates using SELECT... BUT I can't work out how to bring together them in a single query.
Could someone show me how with the pl/sql / dates below please?
Example of HOLIDAY table below.
Thank you!
TP
create or replace function WORKING_DAYS (pi_start_date in date, pi_end_date in date) return integer is v_start_date date :=pi_start_date; v_end_date date:=pi_end_date; v_count integer:=0; begin while v_start_date <= v_end_date loop if to_char(v_start_date,'D') not in ('6','7') then v_count := v_count+1; end if; v_start_date:=v_start_date+1; end loop; return v_count; end;
(select '10-Apr-2013' as NWD from dual union all select '06-May-2013' from dual union all select '27-May-2013' from dual union all select '26-Aug-2013' from dual union all select '26-Dec-2013' from dual union all select '25-Dec-2013' from dual union all select '01-Jan-2014' from dual union all select '18-Apr-2014' from dual union all select '21-Apr-2014' from dual union all select '05-May-2014' from dual union all select '26-May-2014' from dual union all select '25-Aug-2014' from dual union all select '25-Dec-2014' from dual union all select '26-Dec-2014' from dual) HOLIDAYS
Hello
the link is on MOSC, not OTN... Here's a copy:
This function calculates the number of days between two dates, ignoring weekends and holidays (if requested and if the holidays are stored in a table)
I give an example of table 'public_holiday' with sample data, but users must ensure that their table contains the relevant data (all holidays within the maximum range of use of the service)
CREATE TABLE public_holiday (calendar_day, DATE, text VARCHAR2 (30));
FUNCTION to CREATE or REPLACE nb_days (p_date_from IN DATE
p_date_to DATE by DEFAULT TRUNC (sysdate)
, p_public_holidays in CHAR DEFAULT 'Y '.
) RETURN NUMBER
DEFINE AUTHID
AS
/*********************************************************************/
/ * Author: Bruno Vroman * /.
/ * Created: 23-AUG-2012 * /.
/ * Last updated: 23-AUG-2012 * /.
/ * Object: to calculate the number of days between 2 dates, to the exclusion of * /.
/ * Saturday and Sunday, but also "holidays" If the * /.
/ * argument 'p_public_holidays' = 'Y ' * /.
/ * Support: p_date_from<= p_date_to ="">=>
/ * component ' hour min dry "ignored (just counting days) * /.
/* First step: */
/ * the calendar days between 2 days * /.
/ Remove 2 days for each "week" and 0 or 1 extra day * /.
/ * function to a condition "complex" mix day of first week * /.
/ * and the number of days when full remaining weeks are removed * /.
/ * (set up once for all, for example if there is 3 days and the * /)
(/ * first day is a Thursday, there is 1 "Sat/Sun" to subtract) * /.
/ * Second step: If 'p_public_holidays' = 'Y': other * /.
/ * days, do not count holidays. */
/ Holiday everyday are defined in a table "public_holiday" * /.
/ * Note: there may be holidays defined on Saturday/Sunday. */
/*********************************************************************/
l_result NUMBER;
l_from DATE;
l_to DATE;
l_case tank (4);
BEGIN
l_from: = TRUNC (p_date_from);
l_to: = TRUNC (p_date_to);
l_case: = TO_CHAR (l_from, 'Dy', 'NLS_DATE_LANGUAGE = English').
To_char (MOD (l_to - l_from + 1, 7));
l_result: = l_to - l_from + 1
-TRUNC ((l_to-l_from + 1) / 7) * 2
-CASE
WHEN l_case IN ('Mon6', 'Tue5', 'Wed4', 'Thu3', 'Fri2'
, "Sat1", "Sun1", "Sun2', 'Sun3", "Sun4".
, "Sun5', 'Sun6.
)
THEN 1
WHEN l_case IN ('Tue6', 'Wed5', 'Wed6', 'Thu4', "Thu5"
, 'Thu6', 'Fri3', 'Fri4', 'Fri5', 'Fri6 '.
, "Sat2", "Sat3', 'Sat4', 'Sat5", "Sat6.
)
THEN 2
0 OTHERWISE
END
;
IF SUPERIOR (p_public_holidays) = "Y".
THEN
SELECT l_result - COUNT (*)
IN l_result
OF public_holiday p
WHERE p.calendar_day > = l_from
AND p.calendar_day<=>=>
AND SUBSTR (TO_CHAR (p.calendar_day
, "Dy".
'NLS_DATE_LANGUAGE = English'
)
, 1, 1 ) != 'S'
;
END IF;
RETURN l_result;
EXCEPTION
WHILE OTHERS
THEN
DBMS_OUTPUT. Put_line (' CTF nb_days (' |))
To_char (p_date_from, "MON-DD-YYYY"). ', ' ||
To_char (p_date_to, "MON-DD-YYYY"). ', ' ||
p_public_holidays | ' ) : ' || SQLERRM
);
LIFT;
END nb_days;
/
REM
REM example:
REM A) fill out the 'public_holidays '.
REM
TRUNCATE TABLE public_holiday;
INSERT INTO public_holiday VALUES (DATE ' 2012-01-01', ' new year (a Sunday)');
INSERT INTO public_holiday VALUES (DATE '' 2012-01-03, "for example");
REM (insert other days...)
COMMIT;
Call the function for some pairs of dates of REM B)
REM nb1: remove only Sat/Sun
REM nb2: also remove holidays
REM
ALTER SESSION SET nls_date_format ='Dy DD-MON-YY';
WITH some_dates AS
(SELECT DATE ' 2011-12-29'd dual FROM
UNION ALL SELECT DATE ' 2012-01-08' FROM dual
UNION ALL SELECT DATE ' 2012-01-10' FROM dual
)
SELECT d1.d 'FROM '.
, d2.d ' to THE '.
, nb_days (d1.d, d2.d, ' don't) nb1
, nb_days (d1.d, d2.d, 'Y') nb2
OF some_dates d1
some_dates d2
WHERE d1.d<=>=>
ORDER BY nb1, nb2, d1.d
;
GO TO NB1 NB2
------------- ------------- ---- ----
Monday, January 8, 12 Monday, January 8, 12 0 0
Friday, December 29, 11 Friday, December 29, 11 1 1
Wednesday, January 10, 12 Wednesday, January 10, 12 1 1
Monday, January 8, 12 Wednesday, January 10, 12 2 2
Friday, December 29, 11 Monday, January 8, 12 7 6
Friday, December 29, 11 Wednesday, January 10, 12 9 8
Hope that this could be useful, but note that this code has not been completely tested, so check and test before you trust it (in the case of any questions, please post a comment)
Bruno Vroman.
Best regards
Bruno
-
Hai bloggers,
See us have 365 days a year for all first half we'll have 180 + days (if we choose first half as the guest and we select week as guest number and the last date of this particular week must indicate in the report) and the number of days until this date or a week should also display... If we choose the second half and half week number it should show number of days until this week and more Date of this issue of the day week should be from 1 to 180 + only way (July 1 m is 1)
Thank youYou must use the timestampdiff function to calculate the number of days. One of the way to calculate is how
cases where "Time". "" Calendar semester "= 1 then timestampdiff (SQL_TSI_DAY, CAST (EVALUATE ('TO_DATE (%1, %2)','' 01-01 |' @{YEAR} {2010}',"DD-MM-YYYY") AS DATE), cast OFF (EVALUATE ('TO_DATE' (1%, 2%), 30-06' |' @{YEAR} {2010}',"DD-MM-YYYY") AS DATE)) else timestampdiff (SQL_TSI_DAY, MOUNT (EVALUATE ('TO_DATE (%1, %2)','01-07' |' @{YEAR} {2010}',"DD-MM-YYYY") AS DATE), cast OFF (EVALUATE ('TO_DATE' (1%, 2%),' 31-12 |' @{YEAR} {2010}',"DD-MM-YYYY") AS DATE)) end
If you want to calculate between the 1st day of the half and the last date a week then after
cases where "Time". ' ' Calendar semester ' = 1 then timestampdiff (SQL_TSI_DAY, CAST (EVALUATE ('TO_DATE (%1, %2)','01-01' |' @{YEAR} {2010}', 'DD-MM-YYYY') AS DATE), MAX (MAX ("Time".) "Calendar Date"))) else timestampdiff (SQL_TSI_DAY, CAST (EVALUATE ('TO_DATE (%1, %2)','01-07' |' @{YEAR} {2010}', 'DD-MM-YYYY') AS the DATE), MAX (MAX ("Time".) " End Calendar Date")))
Hope that it will answer your question
Thank you
Phani. -
Dynamic calculation of the number of days between two dates in a table
Hello
I'm working on request where I dynamically calculate the number of days between two dates in a table.
The calculation must be dynamic, i.e., when I recover the Start_date and End_date and move to the field following (call_duration) in the same row, the difference must be calculated dynamically in this area and make sure the field read-only.
APEX version: 5.0
Hi BO123,
BO123 wrote:
Hello
I'm working on request where I dynamically calculate the number of days between two dates in a table.
The calculation must be dynamic, i.e., when I recover the Start_date and End_date and move to the field following (call_duration) in the same row, the difference must be calculated dynamically in this area and make sure the field read-only.
APEX version: 5.0
one of the way to do this by calling ajax on change of end_date.
See the sample code given below to fetch the resulting duration and making the field read only after calculation
Step 1: Change your page
under CSS-> Inline, put the code below
.row_item_disabled { cursor: default; opacity: 0.5; filter: alpha(opacity=50); pointer-events: none; }
Step 2: Create on demand Ajax process I say CALC_DURATION
Please check Procces Ajax, see line 6.7 How to assign a value to the variable sent by ajax call
Declare p_start_date date; p_end_date date; p_duration number; Begin p_start_date := to_date(apex_application.g_x01); p_end_date := to_date(apex_application.g_x02); --do your calculation and assign the output to the variable p_duration select p_end_date - p_start_date into p_duration from dual; -- return calculated duration sys.htp.p(p_duration); End;
Step 3: Create the javascript function
Change your page-> the function and the declaration of the Global Variable-> put the javascript function
You must extract the rowid in the first place, for which you want to set the time, see line 2
assuming f06, f07 and f08 is the id of the start date, and end date columns respectively, and duration
See no line no 8 how set the value returned by the process of ajax at the duration column
Replace your column to the respective column identifiers in the code below
function f_calulate_duration(pThis) { var row_id = pThis.id.substr(4); var start_date = $('#f06_'+row_id).val(); apex.server.process ( "CALC_DURATION", { x01: start_date,x02: $(pThis).val() }, { success: function( pData ) { // set duration to duration column $('#f08_'+row_id).val(pData); // disable duration column $("#f08_" + row_id).attr("readonly", true).addClass('row_item_disabled'); } }); }
Step 4: choose the end date call the javascript function
Go to report attributes-> edit your Date column end-> column-> Attrbiutes element attributes-> put the code below
onchange="javascript:f_calulate_duration(this);"
hope this helps you,
Kind regards
Jitendra
-
Get the number of days in a month based on the month and year of fields
I have a column in my form which lists the days in a month. I want to configure a hidden field that calculates the total number of days in a month, based on the month and year of the field inputs. The number of days will determine what appears on the column. For example, if I put 4 months, and 2016 in the field of the year, I get 30 in the hidden field. Thus, on the column 'Day', I'll have numbers 1-30. Or if I put 2 months and 2016 in the field of the year, I get the 29 in the hidden field. If the numbers 1-29 appears in the column 'day '.
Found this on some forum javascript code:
//Month is 1 based
function daysInMonth(month,year) {
return new Date(year, month, 0).getDate();
}
//July
daysInMonth(7,2009); //31
//February
daysInMonth(2,2009); //28
daysInMonth(2,2008); //29I do not know how to convert this code in JavaScript to adobe and don't really know how to use it. All I know how to do is to configure the field values for the field month and year as variables. I am a novice programmer and would appreciate it really all the help I can get. Thank you in advance!
The code seems to be JavaScript and runs as needed by using the JavaScript console.
I would like to consider making more general code, so if you have a date string that includes at least the month and year we could just call the function and get the number of days for that month.
The following script will calculate the number of days in a month, by using at least the month and year values can display the result on the JavaScript console and all of the value field for the field that has this code as the custom calculation Script.
function daysInMonth (oDate) {}
return new Date (oDate.getFullYear (), oDate.getMonth () + 1, 0) .getDate ();
}nMonth var = this.getField("Month").valueAsString; get the value of month;
nYear var = this.getField("Year").valueAsString; get the value of the year;Event.Value = "";
If (nMonth! = "" & nYear!) = "") {}
var MyDate = util.scand ("' / mm/yyyy ', nMonth +" / "+ nYear); convert to date object;
var nDaysInMonth = daysInMonth (MyDate); get the number of days;Console.Open (); Open the JavaScript console;
Console.clear(); clear the console;
Console.println ("Days in" + nMonth + ":" + nDaysInMonth); show days in month;
Event.Value = nDaysInMonth; Set the value of the field;
}
-
Count the number of days of previous instance entity
Hello
My context, global and one of many relationship which is a list of contracts.
I think I can explain my problem with an example:
Contract 1:
Start date: 01/01/2013
End date: 31/03/2013
2 contract:
Start date: 05/01/2013
End date: 31/08/2013
Contract 3:
Start date: 11/01/2013
End date: 31/03/2014
I want to do this:
For contract 3, calculate the number of days for contract 1 + contract 2 + 3 contract
For the market 2, calculate the number of days for the 2 + 3 on contract market
To contract 1, calculete number of days for contract 1
Moreover, I would calculate the number of days limited to 28 months before the date of the end of each contract.
For contract 3 calculate the number of days until the 31/03/2014 but on 30/11/2011.
Means that
-If a contract of 4 ends before 30/11/2011-> not taken
-If a contract of 4 begins on 11/01/2011 and ends on 15/12/2011, the days of the 12/01/2011 to 15/12/2012 are taken into account.
For contract 2 calculate the number of days until the 31/08/2013, but since 30/04/2011.
Means that
-If a contract of 4 ends before 30/11/2011-> not taken
-If a contract of 4 begins on 11/01/2011 and ends 15/12/2011-> not taken
Hope my explanation is clear.
I don't know how mixt:
temporal reasoning
reasoning of entities
through the reasoning of entities
as
-for a contract, I have to see all deals before and not one after (cross entities reasoning)
-I have to count a number of days, but if there is a period without a contract that I have to ignore days (temporal reasoning)
Then I am quite lost.
If anyone can help me in this situation aprehendate the appropriate.
Thank you.
Hey guys I think I found the solution, here my idea in french (sorry my client is franco-french):
the contract if course of est en
Temporelencoursouapres (contract start date)
and
TemporelEnCoursOuAvant (date of end of contract)
a contract is being so
Exists (employment of the applicant, the contract is ongoing)
the value of the number of days to count pour the contract to determine the last date of end of contract to take into account
0
TemporelAvant (InstancesMinimum (employment of the applicant, the start date of the contract))
0
TemporelAvant (the start date of the contract to determine the last date of end of contract to take into account)
0
Temporelapres (InstancesMaximum (employment of the applicant, the end date of the contract))
0
Temporelapres (date of end of contract)
0
Temporelapres (the end date of the contract to determine the last date of end of contract to take into account)
3
the day is the last day of February
and
Temporelencoursouapres (the start date of the contract to determine the last date of end of contract to take into account)
and
a contract is underway
1
No (the day is the last day of February)
and
Temporelencoursouapres (the start date of the contract to determine the last date of end of contract to take into account)
and
a contract is underway
0
otherwise
the value of the number of days through contracts pour prescribe the last contract end date to take into account = Temporeldatedepuisdebut (all jobs of the applicant, the date (the number of months to be taken into account for the period affiliation) months before the end date of the contract, the value of the number of days from paying the contract to determine the last date of end of contract to take into account)
the duration of contracts from pour prescribe the last contract end date to take into account = IntervalleSommeQuotidienne (the start date of the contract to determine the last date of end of contract to be taken into account; AddDays (InstancesMaximum (employment of the applicant, the end date of the contract) 1); the value of the number of days through contracts pour prescribe the latest end date of contract to take into account)
-
SQL to count the number of days of January with a range of dates
I have data like this, how to calculate the number of days with January in this date range.
BEGINNING END DAYS OF JAN 12/12/2013 20/01/2014 20 21/01/2014 02/02/2014 11 Hello
So, you want to count the number of days between
(a) either start_dt, or January 1, 2014 (prevailing later) and
(b) or end_dt or January 31, 2014 (whichever comes first).
However, if start_dt and end_dt are prior to January 2014 (or both are later) which will result in a number negative if you take the difference or 0, if it is higher.
This looks like a job for the GREATER and LESS than functions.
SELECT start_dt - START is not a column name good
, end_dt - is neither END
BIGGER (1 + LESS (end_dt, DATE ' 2014-01-31'))
-Most GREAT (start_dt, DATE '' 2014-01-01)
* v
) AS jan_days
FROM table_x
;
If you would care to post CREATE TABLE and INSERT instructions for some examples of data, then I could test it.
-
JavaScript anomaly on the number of days between two dates
Use ApEx 4.0, I found an anomaly in a javascript code that calculates the number of days between two dates, the current_date and the past_date. If the past and present is the or before March 10, 2013, and the current_date lies between 10 March 2013 and November 3, 2013, the number of days will be from 1 day to less than the actual number. Between November 3, 2013 and on 4 November 2013, the increments of number by 2, then the count will be accurate from this date forward.
Here are some examples:
March 10, 2013 = 69 days of December 31, 2012
March 11, 2013 = 69 days of December 31, 2012
March 12, 2013 = 70 days of December 31, 2012
November 3, 2013 = 306 days in December 31, 2012
November 4, 2013 = 308 days in December 31, 2012
11 March should be 70 and 12 March should be 71. November 3 is 307 and 4 November corrects the number of fake, which began March 11.
Change the past_date to March 10, 2013 produces the following:
March 10, 2013 = 0 days of March 10, 2013
March 11, 2013 = 0 days of March 10, 2013
March 12, 2013 = 1 days of March 10, 2013
But change the past_date to 11 March 2013, product of the correct numbers:
March 11, 2013 = 0 days of March 11, 2013
March 12, 2013 = 1 days of March 11, 2013
March 13, 2013 = 2 days of March 11, 2013
I would certainly all help to determine the cause of this anomaly. Here's the javascript code:
var w1 = ($v ("P48_PAST_DATE"));
W1 = (w1.toString ());
vmon var = (w1.substr (3.3));
vyr var = (w1.substr (7));
var r = (vyr.length);
If (r == 2)
vyr. = (parseFloat (vyr) + 2000);
vday var = (w1.substr (0.2));
var y = (vmon.concat ("", vday, ",", vyr));
y = Date.parse (y);
var w2 = ($v ("P48_CURRENT_DATE"));
var vmon2 = (w2.substr (3.3));
var vyr2 = (w2.substr (7));
var vday2 = (w2.substr (0.2));
var x = (vmon2.concat ("", vday2, ",", vyr2));
x = Date.parse (x);
var numdays = (x - y);
numdays = (Math.floor(numdays / 86400000));
$s ("P48_NUMBEROFDAYS", numdays);Did you google for something like "javascript number of days between two dates. I think you will find the explanation to this observation:
This method does not work correctly if there is an advanced economies jump between the two dates.
There are examples available to calculate the difference between two dates.
Maybe you are looking for
-
MS word/Excel - ipad - iCloud drive
IPad Pro with MS Word/Excel is installed: Icloud drive, when I click a .doc or .docx file it will open by importing the file Pages and make a copy (which is stored in the Pages folder in iCloud drive). How can I change the settings so that Word files
-
How can I transfer files photo on a CD for my iPad. IS it easy
-
Motorola Moto G 3rd Gen "Dual Sim" GREECE/EUROPE
Hi all I come and live Greece (EU) and have question the interest to buy a 'New' Motorola Moto G (3rd generation) Dual Sim, 2 GB Ram, 16 GB of storage Please tell me what is the model? to support Dual SIM (Sim Type) and networks? Please tell how to f
-
WindowsUpdate_8E5E03FA""WindowsUpdate_dt000"
I can't get windows to install updates. I get the error "WindowsUpdate_8E5E03FA" "WindowsUpdate_dt000" head to the help and support that tells me absolutely nothing. How can I solve this problem?
-
How can you diagnose errors in Device Manager Tried installing McAffee, but error message. Contacted McAfee... says the problem is in the Device Manager. How can I determine the error in Device Manager?