How to convert string to Date in apex?

  • What is wrong with this format while am upserting the date in an object?

        Route__c r =new Route_c();
        r.Plan_Date__c = date.parse(strDate);
        upsert r;
    

    In the debug log, I get the error as |FATAL_ERROR|System.TypeException: Invalid date: Test123

    Here Test123 is the different text to be inserted which accepts as Date and throws an error.

    so does it work fine if you give a valid date like '01/14/2016'?

    you'll be much happier if all incoming dates are in yyyy-mm-dd format to avoid locale-specific issues

    Why do you think 'Test123' is a valid date in any locale?

  • Nitin

    Nitin Correct answer

    6 years ago

    This error is coming as system is not able to understand Test123 while parsing into date.

    The format of the String depends on the local date format, like mm/dd/yyyy. If the parameter is not of this format, date.parse will throw error.

    E.g.:

    r.Plan_Date__c = date.parse('12/27/2015');
    

    You can also use date.valueOf(strDate) to parse string of format yyyy-MM-dd HH:mm:ss in the local time zone.

    Please use this link to read about more date properties.

License under CC-BY-SA with attribution


Content dated before 7/24/2021 11:53 AM