db/instances: expect non-Z time format (#196)

* db/instances: expect non-Z time format

* fixup! db/instances: expect non-Z time format
diff --git a/openstack/db/v1/instances/results.go b/openstack/db/v1/instances/results.go
index 21900d7..6d60e86 100644
--- a/openstack/db/v1/instances/results.go
+++ b/openstack/db/v1/instances/results.go
@@ -1,6 +1,7 @@
 package instances
 
 import (
+	"encoding/json"
 	"time"
 
 	"github.com/gophercloud/gophercloud"
@@ -21,10 +22,10 @@
 // Instance represents a remote MySQL instance.
 type Instance struct {
 	// Indicates the datetime that the instance was created
-	Created time.Time `json:"created"`
+	Created time.Time `json:"-"`
 
 	// Indicates the most recent datetime that the instance was updated.
-	Updated time.Time `json:"updated"`
+	Updated time.Time `json:"-"`
 
 	// Indicates the hardware flavor the instance uses.
 	Flavor flavors.Flavor
@@ -56,6 +57,25 @@
 	Datastore datastores.DatastorePartial
 }
 
+func (r *Instance) UnmarshalJSON(b []byte) error {
+	type tmp Instance
+	var s struct {
+		tmp
+		Created gophercloud.JSONRFC3339NoZ `json:"created"`
+		Updated gophercloud.JSONRFC3339NoZ `json:"updated"`
+	}
+	err := json.Unmarshal(b, &s)
+	if err != nil {
+		return err
+	}
+	*r = Instance(s.tmp)
+
+	r.Created = time.Time(s.Created)
+	r.Updated = time.Time(s.Updated)
+
+	return nil
+}
+
 type commonResult struct {
 	gophercloud.Result
 }