Take a look at [Java SimpleDateFormat](http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html). system.debug(Datetime.now().format('hh:mmaa')); // 08:24AM system.debug(Datetime.now().format('hh:mm:ss aa')); // 08:24:07 AM system.debug(Datetime.now().format('yyyy-MM-dd')); // 2016-05-31 Note that these are methods on `Datetime`, so you should not call `date()` or `time()` on your `Datetime` value before doing the formatting, as doing so will change the type to `Date` or `Time` respectively, and neither of these types have a `format` method defined`.