Looking at the example responses on Apple's Api reference (https://developer.apple.com/library/ios/documentation/General/Conceptual/News_API_Ref/CreateArticle.html#//apple_ref/doc/uid/TP40015409-CH14-SW1), it looks like the date format is as follows:
2015-03-05T02:57:59Z
Note the 'Z' at the end which means Zulu (a.k.a UTC) so it might be worth converting your date and time to UTC as follows:
$date = (new DateTime)->setTimezone(new DateTimeZone('UTC'))->format(DateTime::ATOM);
If you definately required the 'Z' (Zulu) on the end, you can do the following:
$date = (new DateTime)->setTimezone(new DateTimeZone('UTC'))->format('Y-m-d\TH:i:s\Z');
Side note: to load your own date / time (rather than using now) you can change the code to this:
$date = (new DateTime($yourDateTimeString))->setTimezone(new DateTimeZone('UTC'))->format('Y-m-d\TH:i:s\Z');
e.g.
$date = (new DateTime('2016-01-01 00:00:00 +0400'))->setTimezone(new DateTimeZone('UTC'))->format('Y-m-d\TH:i:s\Z');
Please beware! If you are creating a DateTime object, make sure it knows your original timezone. Otherwise converting to UTC will do nothing and Apple's Api will take in your time as UTC, not your local timezone. As a general rule of thumb, always store dates as UTC, then convert back to your user's local timezone when viewing.