On some server environments, we’re seeing the start date being loaded as the end date. There is a thread on this here: http://wordpress.org/support/topic/start-date-and-end-date-wrong?replies=17
My investigations have revealed the following…
Looking at the code, it appears to be doing various calculations and checks using a piece of postmeta with the key “_EventDuration” which I don’t have in my database.
Specifically, it looks like this piece of SQL may be the culprit:
“IFNULL(DATE_ADD(CAST(eventStart.meta_value AS DATETIME), INTERVAL eventDuration.meta_value SECOND), eventEnd.meta_value) as EventEndDate”
Replacing it with the following means I get the correct end date through, but I expect this will break things in other circumstances:
“eventEnd.meta_value as EventEndDate”
It looks like MySQL is treating the “null” value of “eventDuration.meta_value” as “0” for the purposes of the DATE_ADD() call. Perhaps this is specific to certain versions of MySQL and is why not everyone is getting the problem? I’m on MySQL 5.6.10.