I afraid you've created DateTime object like this:
$date = new DateTime('01/18/2016 00:00 AM America/New_York');
That is not a supported/valid datetime format!
If you want to create a DateTime object from another format you must call DateTime::createFromFormat() instead, look:
$timezone = new DateTimeZone('America/New_York');
$strdate = '01/18/2016 00:00 AM';
$date = DateTime::createFromFormat('m/d/Y H:i A', $strdate, $timezone);
PHP doc states:
DateTime::createFromFormat / date_create_from_format — Returns new
DateTime object formatted according to the specified format
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…