Validating Leap Years

Is there a way of checking that an entered leap year date is valid?
Eg. User enters 2/29/2001 which is not a valid date because 2001 was not a leap year.

You should be able to use the SimpleDateFormat class to do this by issuing a setLenient(false) call. However, it does not seem to detect a leap year problem with the date 2/29. If you run the code below, you'll see that in the first section it correctly detects that 2/30 is a bad date, but in the second section, it does not detect 2/29 as a bad date. In section 3, you can see how an added test can detect the problem date.
        //Date validation
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        //Section 1 - correctly detects bad date
        try {
            String date = "2001-02-30";
            System.out.println("Here's the date - " + sdf.parse(date));
            sdf.setLenient(false);
            System.out.println("Here's the date - " + sdf.parse(date));
        } catch (ParseException pe) {
            System.out.println("Bad date");
        //Section 2 - does not detect bad date
        try {
            String date = "2001-02-29";
            System.out.println("Here's the date - " + sdf.parse(date));
            sdf.setLenient(false);
            System.out.println("Here's the date - " + sdf.parse(date));
        } catch (ParseException pe) {
            System.out.println("Bad date");
        //Section 3 - correctly detects bad date with additional check
        try {
            String date = "2001-02-29";
            System.out.println("Here's the date - " + sdf.parse(date));
            sdf.setLenient(false);
            //Additional test to compensate for leap year failure
            String dateString = sdf.format(sdf.parse(date));
            if (!dateString.equals(date)) {
                System.out.println("Bad date");
            } else {
                System.out.println("Here's the date - " + sdf.parse(date));
        } catch (ParseException pe) {
            System.out.println("Bad date");
        }

Similar Messages

  • Predicate boolean method...calculating whether or not a year is a Leap year

    I'm trying to get pointed in the right direction for this program. I am attempting to write a program that calculates whether or not an inputted year by the user is a valid leap year or not, however I'm having problems figuring out the method for this calculation.
    A predicate method boolean seems to be the right way, but I can't figure out exactly how. Here's what I've brainstormed thus far:
    Leap Year Conditions:
    1. Is divisible by 4.
    2. Is NOT divisible by 100.
    3. Is divisible by 4.
    public class Year
              public boolean isLeapYear()
    }What confuses me is how to satisfy these conditions. Here is what I want to fill those '...' with. Excuse the tacky language coming up, but it's the only way I can express my thinking here:
    return ((inputted year) / 4) && (inputted year / 400) && !((inputted year) / 100)
    If the year is undivisible by any of these values then it could end up being a technical decimal (which means the inputtted year is not a leap year). But of course java would still calculate it anyway depending on how I defined the type.
    Should I try to implement a condition that if the variable returned by any of these calculations (except for 100) is a float point then the year is not a leap year? How would I do this?
    I'm really not sure where to go on this one. If anyone could point me in the right direction and give me a good start I would appreciate it. Thank you.
    Message was edited by:
    fairtex
    Message was edited by:
    fairtex

    http://en.wikipedia.org/wiki/Leap_year
    They have some leap year algorithms on there.

  • How to do a date validation with leap years

    I'm doing a date validation program in my Java class, and well it's pretty hard (for me that is). I have to be able to type in a date, have it say whether it's a leap year or not, and print out the number of days in the month. It seems pretty straight forward, but I get confused on trying to do the 'if else' statements and even the simplest things like getting the day prompting to work. >< The years I'm doing only goes through 1000 to 1999, so that's why those numbers are there. The program isn't complete, so if anyone could help show me what I'm doing wrong in the areas I'm working on then I'd appreciate it...and I'm still kind of in the basics of Java so if you do hint me with some code then I'd appreciate it if it was stuff that's not too advanced so yea.
    // Dates.java
    // Determine whether a 2nd-millenium date entered by the user
    // is valid
    import java.util.Scanner;
    public class Dates
    public static void main(String[] args)
    int month, day, year; //date read in from user
    int daysInMonth; //number of days in month read in
    boolean monthValid, yearValid, dayValid; //true if input from user is valid
    boolean leapYear; //true if user's year is a leap year
    Scanner scan = new Scanner(System.in);
    //Get integer month, day, and year from user
    System.out.print("Type in the month: " );
              month = scan.nextInt();
    System.out.print("Type in the day: " );
              day = scan.nextInt();
    System.out.print("Type in the year: " );
              year = scan.nextInt();
    //Check to see if month is valid
    if (month >= 1)
    month = month;
    else
    if (month <= 12)
    month = month;
    else;
    //Check to see if year is valid
    if (year >= 1000)
    year = year;
    else
    if (year <= 1999)
    year = year;
    else;
    //Determine whether it's a leap year
    //Determine number of days in month
    if (year == 1 || 3 || 5 || 7 || 8 || 10 || 12)
         System.out.println (Number of days in month is 31);
         else (year == 4 || 6 || 9 || 11)
         System.out.println (Number of days in month is 30);
    //User number of days in month to check to see if day is valid
    //Determine whether date is valid and print appropriate message
    // Dates.java
    // Determine whether a 2nd-millenium date entered by the user
    // is valid
    import java.util.Scanner;
    public class Dates
    public static void main(String[] args)
    int month, day, year; //date read in from user
    int daysInMonth; //number of days in month read in
    boolean monthValid, yearValid, dayValid; //true if input from user is valid
    boolean leapYear; //true if user's year is a leap year
    Scanner scan = new Scanner(System.in);
    //Get integer month, day, and year from user
    System.out.print("Type in the month: " );
              month = scan.nextInt();
    System.out.print("Type in the day: " );
              day = scan.nextInt();
    System.out.print("Type in the year: " );
              year = scan.nextInt();
    //Check to see if month is valid
    if (month >= 1)
    month = month;
    else
    if (month <= 12)
    month = month;
    else;
    //Check to see if year is valid
    if (year >= 1000)
    year = year;
    else
    if (year <= 1999)
    year = year;
    else;
    //Determine whether it's a leap year
    //Determine number of days in month
    if (year == 1 || 3 || 5 || 7 || 8 || 10 || 12)
         System.out.println (Number of days in month is 31);
         else (year == 4 || 6 || 9 || 11)
         System.out.println (Number of days in month is 30);
    //User number of days in month to check to see if day is valid
    //Determine whether date is valid and print appropriate message
    }

    Here are some helpfull hints for you:
    1. Your code is really hard to read, there are two main reasons for this. First, your indentation sucks. Second, you seem to be fascinated with saving two (ok four if you count the shift key) keypresses to avoid using { and }.
    2. Not using the brackets (you know { and } which you like to avoid) also is causing your code to do some stuff you don't realize or want to happen, or at least it would be if your code compiled.
    3. If statements require arguements, "year == 1" is an arguement, "3" is not an arguement. Each operator like the or operator ("||") is essentially a new if and requires a complete arguement. So the following code peice:
    if (year == 1 || 3 || 5 || 7 || 8 || 10 || 12)Literally translates to if year equals 1 or if 3 or if 5 or if 7 or if 8 or if 10 or if 12. Doesn't make much sense in english, and it doesn't make much sense in Java either.
    4. I am pretty sure "year" is not the variable you want in the code snippet above (the one used in hint 3), especially considering years 1, 3, 5, 7, 8, 10, and 12 are not between 1000 and 1999. You need to be really carefull not make these kind of mistakes when coding, because they are by far the hardest to track down and fix later since they don't really throw up any flags or anything at compile or run time. Take your time and think thuroughly about each line of code while coding it, it will save you tons of time in the long run.
    5. What exactly do you expect statements like "month = month;" to do? That translates as make month equal to month. Do you go to the bank and say " I have exactly $3.56 in my pocket, so I would like to deposite all $3.56 and then withdraw $3.56 and put it back in my pocket"? How do you think the teller would look at you? Teller would probably do it, but the teller would feel like he/she wasted time with you and that you are not really right in the head. Java feels the same way when you make it do the same thing, and you love to do it.
    6. Code like the following is all wrong, and for more reasons than pointed out in hint 5.
    if (month >= 1)
    month = month;
    else
    if (month <= 12)
    month = month;
    else;Let's say someone put 13 in as the month. It passes the first check because 13 is greater than or equal to 1. so month which is 13, now gets set to 13 (gee that was effective). Now we hit the else and things get confusing because you didn't use brackets or proper indentation (hint 1) so we don't know what your real intent was. Did you mean else do nothing, and the next if statement is then executed, or did you mean to just run the next if statement if the else condition was met? Fortunatly it doesn't matter here because the next if statement is failed anyways since 13 is not less than or equal to 12.
    So, we leave this code with month ebing 13, wait when did we add a 13th month to the calendar? Are you using the Jewish calendar? Could be, except even if I put 1234567 as the month your code would except it as valid, and I know no calendar with that many months. Try writing this in english first and translating it to jave, like i would probably say "if the month is greater than or equal to 1 and less than or equal to 12 then the month is valid." Course now what do you do if it is invalid? Hmm, maybe I would actually say "while the month is less than 1 or greater than 12 ask the user for the month" until they get it right.
    There are a few other problems, but most of them are probably things you haven't learned yet, and they are not show stoppers so we will let them fly. You already have a lot of work to do to make this better. But I do have one more really really big usefull hint for you:
    Never, ever, under any circumstances, should you ever ask in any way or even hint at asking for someone else to provide code solutions to your problems. So "so if you do hint me with some code then I'd appreciate it if it was stuff that's not too advanced " was a very bad thing to do, but fortunatly for you you followed it with proof you were trying to write the code yourself. Had the code you provided not been so full of problems it was obvious a beginner wrote it, you would probably have gotten much less cordial responses. I would seriously consider avoiding any implication of wanting code, at least until you become a regular poster here and people know you are not just looking to get your homework done for you.
    Hope some of this helps.
    JSG

  • Unable to generate the file report pdf on 29 february 2012 or during any leap year day...

    hii this is manab......
    sir/mam i have face the following error in 29 february 2012 for my overall company report .But i can easily get the
    report of another department on 29feb 2012....but when i try generate the overall report of my comapany then i find the errors
    REP-1401: 'cf_mc_prod_lyrformula': Fatal PL/SQL error occurred.
    ORA-01839: date not valid for month specified
    The following is the logfile.........
    ...........................................................................................log file................................................................................................................
    HPCL Custom Application: Version : UNKNOWN
    Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
    HPCCMDS module: HPC Modified CMD Report
    +---------------------------------------------------------------------------+
    Current system time is 04-SEP-2013 11:37:20
    +---------------------------------------------------------------------------+
    +-----------------------------
    | Starting concurrent program execution...
    +-----------------------------
    Arguments
    P_MILL='NPM'
    P_TRANSACTION_DATE='2012/02/29 00:00:00'
    Current NLS_LANG and NLS_NUMERIC_CHARACTERS Environment Variables are :
    American_America.US7ASCII
    REP-1401: 'cf_mc_prod_lyrformula': Fatal PL/SQL error occurred.
    ORA-01839: date not valid for month specified
    Report Builder: Release 6.0.8.24.0 - Production on Wed Sep 4 11:37:20 2013
    (c) Copyright 1999 Oracle Corporation.  All rights reserved.
    Enter Username:
    +---------------------------------------------------------------------------+
    Start of log messages from FND_FILE
    +---------------------------------------------------------------------------+
    +---------------------------------------------------------------------------+
    End of log messages from FND_FILE
    +---------------------------------------------------------------------------+
    Program exited with status 1
    Concurrent Manager encountered an error while running Oracle*Report for your concurrent request 11426643.
    Review your concurrent request log and/or report output file for more detailed information.
    +---------------------------------------------------------------------------+
    Executing request completion options...
    Finished executing request completion options.
    +---------------------------------------------------------------------------+
    Concurrent request completed
    Current system time is 04-SEP-2013 11:59:23
    +---------------------------------------------------------------------------+
    kindly give me solution .....i have e-business suite 11i
    internet explorer latest version...

    Hi,
    Please confirm whether this is a custom or standard report.
    If this is a custom report, then probably the respective issue has not been handled by exception handling.
    Also please refer note:
    How to check if version 11.5.10.2 is certified to Handle Leap Years (Doc ID 549937.1)
    Thanks &
    Best Regards,

  • Leap Year Calendar

    I am working on a project where the user enters a year. The string is then converted into an int and goes through a series of tests to see if it is a leap year or not. The problem I am having is when the user inputs letters when they are supposed to enter numbers. This gives the "java.lang.NumberFormatException" error. I used the try and catch code to make the user re input a year, but how do you make that into a loop. I want to make it so if the user keeps putting in letters, the computer keeps asking for numbers.
    this is my code so far:
    import javax.swing.JOptionPane; //import this at top
    public class finding_the_leap_year {
    public static void main(String[]args){
    int year = 0;
    {color:#ff0000}
    try{
    String inputValue = JOptionPane.showInputDialog("Input a year");
    year = Integer.parseInt(inputValue);
    catch(java.lang.NumberFormatException ex){
    while(????????????????????){
    System.out.println("Please enter a year");
    String inputValue = JOptionPane.showInputDialog("Input a year");
    year = Integer.parseInt(inputValue);
    }          }{color}
    if(year % 4 == 0)
    System.out.println(year + " is a leap year.");
    if(year % 100 == 0)
    if(!(year%400==0)){
    System.out.println(year + " is a leap year.");
    else{
    System.out.println(year + " is not a leap year.");
    Edited by: chibioj on Sep 29, 2007 12:50 PM
    Edited by: chibioj on Sep 29, 2007 12:51 PM

    Put more in the while loop. I sometimes use a boolean value such as dataValid or inputValid and set it to false. I only set it to true if the input entered is ok. It is set to true in the try block but AFTER the data is obtained and parsed. The code will only reach that line if the input is valid.
            String inData = "";
            boolean dataValid = false;
            while (!dataValid) // while we don't have a correct answer yet
                try
                    inData = JOptionPane.showInputDialog("Input a number");
                    if (inData != null)  // if they didn't press the cancel button
                        year = Integer.parseInt(inData);                   
                    dataValid = true; // won't get here if numberformatexception tripped
                catch (java.lang.NumberFormatException ex)
                    JOptionPane.showMessageDialog(null, "You didn't enter a valid year.  Please try again.");
            if (inData != null) // if cancel button not pressed on input dialog
                if (......Also, you have some logic errors in the rest of your code that need fixing.
    Good luck!

  • Leap Year Handling

    Hi All,
    I just want to get the exactly one year previous date by using the below query: for the leap year...
    update day
    SET FLAG = 'Y'
    WHERE PERIOD_DATE BETWEEN TRUNC(ADD_MONTHS(TO_DATE(20050228,'YYYYMMDD'),-12),'MON') and
    ADD_MONTHS(TO_DATE(20050228,'YYYYMMDD'),-12)
    In the same time while we use the same query for the leap year date:
    select * from day
    WHERE PERIOD_DATE BETWEEN TRUNC(ADD_MONTHS(TO_DATE(20080229,'YYYYMMDD'),-12),'MON')
    AND TO_DATE(20080229,'YYYYMMDD') + NUMTOYMINTERVAL(-1,'YEAR')
    I receive the following error - ORA-01839: date not valid for month specified.
    Problem:FLAG was incorrectly set to 'Y' for Feb 29 in 2004 during the report processing of Feb 28 data. Because of this, the extra day of Feb 29 2004 of Sales data was incorrectly being added to a report, thus overstating MTD sales of Feb 28 2004 by one full day. This appears to be caused by the fact that there were 28 days in Feb 2005 and 29 days in Feb 2004 becuase of the leap year. This will not cause problems until the next leap year.
    Can you please give me the resolution of the above.
    Thanks & Regards,
    Satheesh
    Message was edited by:
    user565141
    Message was edited by:
    user565141

    Hi Sateesh,
    I love your question, I have been writting quite often about this.
    ADD_MONTH is not the correct function to use, neither y2m interval.
    First, you need to define what is 2004-02-29 + 1 year. In most laws I found on the net (like majority and retirement policies), a leap-year baby will have his birthday on March 1st in non-leap years. If you have a contract, you must define this too.
    ex:
    update day set flag='Y'
      where period_date between
        trunc(ADD_MONTHS(:d,-12),'MON') and
        case to_char(:d,'MMDD')
          when '0228' then add_months(trunc(:d,'Y'),-12)+58
          else add_months(:d,-12) end;another approach would be
    where to_number(to_char(period_date,'YYYYMMDD')) between
      to_number(to_char(:d,'YYYYMM"00"'))-10000 and
      to_number(to_char(:d,'YYYYMMDD'))-10000;but if you have an index on period_date, the first solution may be more efficient
    Message was edited by:
    Laurent Schneider
    58 not 59
    Message was edited by:
    Laurent Schneider
    depending on how you define 29Feb -1Y, you could add
          when '0229' then add_months(trunc(:d,'Y'),-12)+59

  • Select  timestamp interval on leap year

    Hello,
    i tried to select a timestamp interval on leap year with following action
    select to_timestamp_tz('20000301 +0100','yyyymmdd tzhtzm')+INTERVAL '-3' YEAR from dual;
    The result is an error: ORA-01839: date not valid for month specified
    the year 2000 is a leap year.
    There is the same result with 36 months.
    Oracle Version 10.1.0.4
    What is wrong on it. Is there a workaround?
    Thanks and Greetings
    Silke Viet

    since you are moving 3 years into the past, the year 1997 is not a leap year, that seems to cause it to throw that error:
    SQL> select to_timestamp_tz('20000301 +0000','yyyymmdd tzhtzm') + INTERVAL '-3' YEAR from dual;
    TO_TIMESTAMP_TZ('20000301+0000','YYYYMMDDTZHTZM')+INTERVAL'-3'YEAR
    01-mar-1997 00:00:00.000000 +0000
    1 row selected.
    SQL> select to_timestamp_tz('20000301 -0100','yyyymmdd tzhtzm') + INTERVAL '-3' YEAR from dual;
    TO_TIMESTAMP_TZ('20000301-0100','YYYYMMDDTZHTZM')+INTERVAL'-3'YEAR
    01-mar-1997 00:00:00.000000 -0100
    1 row selected.
    SQL> select to_timestamp_tz('20000301 +0100','yyyymmdd tzhtzm') + INTERVAL '-3' YEAR from dual;
    select to_timestamp_tz('20000301 +0100','yyyymmdd tzhtzm') + INTERVAL '-3' YEAR from dual
    ERROR at line 1:
    ORA-01839: date not valid for month specified
    SQL>

  • Loading leap year date using SQL*Loader

    Hello,
    I have a problem loading a date '29/02/2000' using SQL*Loader. This date is on a leap year. I'm getting an error message from SQL*Loader as 'ORA-01839: date not valid for month specified'. My colleague and I have tried using various date functions to convert the data into date, but no luck.
    I would appreciate any helps,
    Bruce

    Thanks for your help, I found the bug on my control file. I was using the RTRIM function to remove bad timestamp such as '29/02/2000 0:00:00'. So instead of using this statement:
    LOG_DATE DATE "DD/MM/RRRR" "RTRIM(:LOG_DATE,'0:00:00')"
    I was using the statement below with a space before the '0:00:00' string literal, with the intention to remove a space also:
    LOG_DATE DATE "DD/MM/RRRR" "RTRIM(:LOG_DATE,' 0:00:00')"
    Well, it turned out that if there was a space before the string literal, RTRIM function would trim the matching string plus any '0' characters from the right, including the '000' that belongs to '2000'. Thus, the error.
    Thanks again,
    Bruce

  • Reg : Leap Year

    Hi All,
      Is there any function module to find, whether the
      given year is a Leap year or not? Please tell me.
      Thanks in advance.
    Thanks&Regards,
    Siri.

    hi srilatha
    I'm not sure if sap delivers such a function module but writing one yourself should be quite easy.
    Posibility one: implement the correct algorithm
    leap years are years which can be divided by 4 (e.g. 2004) but are no centuries (e.g. 1900). But years which can be devided by 400 are leap years although they are centuries (e.g. 2000 was a leap year).
    Posibility two: try the following (bases on the fact that sap can calculates the leap years correct in the date datatype)
    - define a function module
    - importing parameter iv_year (NUMC 4)
    - exporting parameter ef_leap_year (CHAR 1)
    - coding
    data:
    lv_date like sy-datum value '00000228'.
    lv_date(4) = iv_year. " set the year to the date
    ADD 1 TO lv_date. " calculate the next day
    IF lv_date+4(4) EQ '0229'. " get the MMDD part of date
    ef_leap_year = 'X'. " yes it is a leap year
    ELSE.
    ef_leap_year = ''. " no it is not a leap year
    ENDIF.
    or check this one
    FM DATE_CHECK_PLAUSIBILITY will check if a date is valid. You can either use this FM to check 28.02.xxxx for a given year, or copy the piece of coding which checks for a leap year.
    You can use FM NUMBER_OF_DAYS_PER_MONTH_GET by passing '02' as month and YEAR.
    Regards,
    naveen

  • HELP! Files won't open and previously had Firefox icon instead of DW icons!  Leap Year thing?

    Hi!  I went to update my website, which I do every night before the first day of every month and all the files had a FIrefox icon instead of the usual Dreamweaver one.  I have shut down, reinstalled DW MX 2004 but the files still do not open.  The icons have now changed to DW but they are not opening with right click, opening from Applications folder, double clicking the file, from get info and open with DW.  I am stumped. HELP!  Need to update for March 1st.
    Is it something to do with Leap Year 29th Feb?  Checked the clock in preferences but can't see how this affects it.
    Firefox is always updated but the latest version does not seem to be as efficient as previous upgrades.  We installed Chrome as well.  Do they interfere with each other?

    Hi Ken
    I wish the 7.1 updater download had helped but it didn¹t.  All the files
    were backed up before the installation, which went fine.
    Mac 10.5.8
    We used Disc Warrior to defrag the hard drive, which did not make a
    difference.
    We recently started using Chrome, so now have 3 browsers in the dock,
    Safari, Firefox and Chrome.  Do they interfere in any way with each other?
    The files, which I hadn¹t touched for a month as I update on a monthly
    basis, initially had the Firefox icon.
    Below is the message to send to Apple, which did not go through their report
    system!  A little disillusioned with the service!
    Model: iMac9,1, BootROM IM91.008D.B08, 2 processors, Intel Core 2 Duo, 3.06
    GHz, 4 GB
    Graphics: kHW_NVidiaGeForceGT130Item, NVIDIA GeForce GT 130,
    spdisplays_pcie_device, 512 MB
    Memory Module: global_name
    AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x8E),
    Broadcom BCM43xx 1.0 (5.10.91.22)
    Bluetooth: Version 2.1.9f10, 2 service, 0 devices, 1 incoming serial ports
    Network Service: Ethernet, Ethernet, en0
    Network Service: AirPort, AirPort, en1
    Serial ATA Device: WDC WD1001FALS-40K1B0, 931.51 GB
    Serial ATA Device: PIONEER DVD-RW  DVRTS08
    USB Device: Built-in iSight, (null) mA
    USB Device: Keyboard Hub, (null) mA
    USB Device: iLok, (null) mA
    USB Device: Apple Optical USB Mouse, (null) mA
    USB Device: Apple Keyboard, (null) mA
    USB Device: Deskjet 3840, (null) mA
    USB Device: BRCM2046 Hub, (null) mA
    USB Device: Bluetooth USB Host Controller, (null) mA
    USB Device: IR Receiver, (null) mA
    FireWire Device: d2 quadra (button), LaCie, 800mbit_speed
    Does not mean a thing to me.
    I am not late with updating the site, which is about New Zealand culture,
    month by month (www.englishteacher.co.nz). Probably only the third time I
    have been late since 2005. Not a huge amount of traffic, ~300 a month and
    free access to content but I would like to solve this problem.
    Could a reciprocal link have caused a problem?
    At my wits end.
    I really appreciate the help though.
    Cheers Yvonne
    From: Ken Binney <[email protected]>
    Reply-To: <[email protected]>
    Date: Wed, 29 Feb 2012 06:42:11 -0700
    To: Yvonne and Bill Hynson <[email protected]>
    Subject: HELP! Files won't open and previously had Firefox
    icon instead of DW icons!  Leap Year thing?
    Re: HELP! Files won't open and previously had Firefox icon instead of DW
    icons!  Leap Year thing?
    created by Ken Binney <http://forums.adobe.com/people/Ken+Binney>  in
    Dreamweaver - View the full discussion
    <http://forums.adobe.com/message/4236682#4236682>
    Not necessarily related, but did you also install the 7.1
    updater? http://www.adobe.com/support/dreamweaver/downloads_updaters.html
     Windows or MAC?
    Replies to this message go to everyone subscribed to this thread, not
    directly to the person who posted the message. To post a reply, either reply
    to this email or visit the message page:
    http://forums.adobe.com/message/4236682#4236682 To unsubscribe from this
    thread, please visit the message page at
    http://forums.adobe.com/message/4236682#4236682. In the Actions box on the
    right, click the Stop Email Notifications link. Start a new discussion in
    Dreamweaver by email
    <mailto:[email protected].ad
    obe.com>  or at Adobe Forums
    <http://forums.adobe.com/choose-container!input.jspa?contentType=1&container
    Type=14&container=2240>  For more information about maintaining your forum
    email notifications please go to
    http://forums.adobe.com/message/2936746#2936746.

  • How to find leap year in sql query

    How to find leap year in sql query

    Select
    CASE
      WHEN result = 0 THEN 'Leap_Year'
      WHEN result <> 0 THEN 'Not_A_Leap_Year'
    END
    From (Select mod((EXTRACT(YEAR FROM DATE '2013-08-24')), 4) result FROM DUAL);

  • ICal bug  -- leap year has broken reoccuring events

    Since last week , when there were 29 days in February instead of 28,  events in iCal which are re-occuring  (a meeting which occurs every month on the second Monday for example) is simply wrong.
    It is clear that this is an artifact of "Leap Year." The error compounds.
    In March in was off by one day -- scheduled on Tuesday instead of Monday. In April the error compounds... now scheduled on Friday in April.
    Events which were scheduled by data "appear" to be correct, but now I don't know that I can even trust them.
    This problem propigates through iCloud and infects my iPhone and iPads as well.
    iMac 10.7.3
    iPhone 5.1
    iPad 5.1
    Mac mini 10.6.8
    It turns out this Bug dates back to 2008!!!!!
    https://discussions.apple.com/message/6309125#6309125

    No. not really.
    I spent some time on the phone with Apple support and basically discovered that if I looked at the reoccurring event back in February (the previous month), it showed up correctly as an event being repeated as, in my case, "Custom, Every Month on the first Monday." However, then comparing that entry to the incorrect March entry, I noted the March entry was showing up as repeat "Every Month." (Which translated into every 30 or 31 days, looking at subsequent events.)
    Simply changing the bad March event back to the Custom "Every Month on the First Monday," and then applying it to the forward "worked around" the issue.
    We never did come up with any idea what caused the change. (i.e. the support person could find no references to any kind of similar problem.)
    I was told to go to "www.apple.com/feedback" and to select "iCal" from the list of "OS C Apps" near the bottom of the page, and report the problem.

  • How to Calculate Leap Year ago in OBIEE 11g

    Hi Gurus,
    I have one fact table and having one measure column. I have to calculate current year and Last year.
    Using Time series function (Todate,Ago) have calculated current year as well last year also.
    The problem is Current year is showing correct value only but Last year was showing wrong data.
    We found the problem is Leap year, last year FEB month is having 29 dates. Due to this we are getting wrong date.
    Kindly suggest me how to achieve this requirement.
    Thanks

    Hi Gurus,
    How to resolve Leap Year calculation in OBIEE 11g.
    The problems is Year Ago column.
    Please suggest me how to resolve this.
    Thanks

  • Add 1 day to the Month of February on leap year

    I know how to calculate leap year. The calculation is working great.
    However, I need to add a day to the month of February if a leap year is selected.
    Do you have any pointers on this?
    Thanks!

    Thanks!
    I got it
    if(leapYear){
    if (month==2)
    numDays = numDays +1;
    }

  • Leap year bug adding days to a date?

    Please try this xquery:
    <dd>
    for $i in 0 to 4
    return
    <d>
    {xs:date('2008-12-29')+xs:dayTimeDuration(concat('P',$i,'D'))     }
    </d>
    </dd>
    If the starting date is a leap year date (eg: 2008-12-29), the result does not contain the 30rd of december!
    Is this a (known) bug or there is something wrong in my xquery?
    Thanks!
    Bye
    Mirko

    Hi Mirko,
    There's nothing wrong with your query - that looks like a bug in our date displaying code. Thanks for your analysis of the problem - I'll take a look into fixing it.
    John

Maybe you are looking for