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.

2 Answers 2


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.


Try this

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

here dToday is your field.

  • Thanks for your reply, but it is converting to "2016-05-20T08:46:52.372Z" format. May 20, 2016 at 8:48
  • so you want o add -hh:mm in the end again. May 20, 2016 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.