The error is in your last echo statement
echo $date1->format('Y-m-d h:s:m');
change this to:
echo $date1->format('Y-m-d h:i:s');
Every refresh is refreshing the middle value which you had set to seconds rather than minutes therefore every 3 second update for example was showing to you as a 3 minute update. In addition you had your minute showing as m which is the date format for month number so it was showing as 3 for the numerical representation of March. I have changed this to i to represent minutes.
I got your code above working here in London with the following code:
$date1 = new DateTime('America/New_York');
$date1->add(new DateInterval("PT24H"));
echo $date1->format('Y-m-d h:i:s');
This now shows 10:07 PM March 26th which is 24 hours after the current time in New York