Dates in Xero that are not already set to a datestring are in a format like Date(1518685950940+0000)
They are made up from unix timestamps in milliseconds rather than seconds, they need to be converted by taking the timestamp and times by 1,000
date("Y-m-d", 1518685950940 / 1000)
This will give you the formatted date.
When doing this over the API dynamically you can do this:
if (isset($inv['FullyPaidOnDate'])) {
$date = str_replace('/Date(', '', $inv['FullyPaidOnDate']);
$parts = explode('+', $date);
$paidAt = date("Y-m-d", $parts[0] / 1000);
}
Subscribe to my newsletter for the latest updates on my books and digital products.
Find posts, tutorials, and resources quickly.
Subscribe to my newsletter for the latest updates on my books and digital products.