I want to convert Date from "YYYY-MM-DD" to "YYYY-MM-DDThh:mm:ss-hh:mm" format in Apex. Ex. "2016-05-20" should be converted to "2016-05-20T00:00:00-00:00". Any help/suggestion is appreciated.


I tried "yyyy-MM-dd\'T\'HH:mm:ss.SSSXXX" pattern and I am able to convert Date from "YYYY-MM-DD" to "YYYY-MM-DDThh:mm:ss-hh:mm" format as given below-

Date d = System.today();
Datetime myDT = datetime.newInstance(d.year(), d.month(),d.day());
String myDate = myDT.format('yyyy-MM-dd\'T\'HH:mm:ss.SSSXXX');

"YYYY-MM-DDThh:mm:ss-hh:mm" is ISO 8601 format. Check this link- https://www.w3.org/TR/xmlschema-2/#isoformats for ISO formats.

Refer http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html for formatting and parsing dates.

| improve this answer | |

Try this

Datetime dt = datetime.newInstance(dToday.year(), dToday.month(),dToday.day());

here dToday is your field.

| improve this answer | |
  • Thanks for your reply, but it is converting to "2016-05-20T08:46:52.372Z" format. – Rohit Patil May 20 '16 at 8:48
  • so you want o add -hh:mm in the end again. – Tushar Sharma May 20 '16 at 9:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.