diff --git a/rackspace/db/v1/backups/fixtures.go b/rackspace/db/v1/backups/fixtures.go
index c6244e2..45c2376 100644
--- a/rackspace/db/v1/backups/fixtures.go
+++ b/rackspace/db/v1/backups/fixtures.go
@@ -1,9 +1,16 @@
 package backups
 
+import "time"
+
+var (
+	timestamp  = "2015-11-12T14:22:42Z"
+	timeVal, _ = time.Parse(time.RFC3339, timestamp)
+)
+
 var getResp = `
 {
   "backup": {
-    "created": "2014-02-13T21:47:16",
+    "created": "` + timestamp + `",
     "description": "My Backup",
     "id": "61f12fef-edb1-4561-8122-e7c00ef26a82",
     "instance_id": "d4603f69-ec7e-4e9b-803f-600b9205576f",
@@ -17,7 +24,7 @@
 			"type": "MySQL",
 			"version_id": "20000000-0000-0000-0000-000000000002"
 		},
-    "updated": "2014-02-13T21:47:16"
+    "updated": "` + timestamp + `"
   }
 }
 `
@@ -39,7 +46,7 @@
   "backups": [
     {
       "status": "COMPLETED",
-      "updated": "2014-06-18T21:24:39",
+      "updated": "` + timestamp + `",
       "description": "Backup from Restored Instance",
       "datastore": {
         "version": "5.1",
@@ -49,7 +56,7 @@
       "id": "87972694-4be2-40f5-83f8-501656e0032a",
       "size": 0.141026,
       "name": "restored_backup",
-      "created": "2014-06-18T21:23:35",
+      "created": "` + timestamp + `",
       "instance_id": "29af2cd9-0674-48ab-b87a-b160f00208e6",
       "parent_id": null,
       "locationRef": "http://localhost/path/to/backup"
diff --git a/rackspace/db/v1/backups/requests_test.go b/rackspace/db/v1/backups/requests_test.go
index ac0e6bd..d706733 100644
--- a/rackspace/db/v1/backups/requests_test.go
+++ b/rackspace/db/v1/backups/requests_test.go
@@ -31,7 +31,7 @@
 	th.AssertNoErr(t, err)
 
 	expected := &Backup{
-		Created:     "2014-02-13T21:47:16",
+		Created:     timeVal,
 		Description: "My Backup",
 		ID:          "61f12fef-edb1-4561-8122-e7c00ef26a82",
 		InstanceID:  "d4603f69-ec7e-4e9b-803f-600b9205576f",
@@ -40,7 +40,7 @@
 		ParentID:    "",
 		Size:        100,
 		Status:      "NEW",
-		Updated:     "2014-02-13T21:47:16",
+		Updated:     timeVal,
 		Datastore: datastores.DatastorePartial{
 			Version:   "5.1",
 			Type:      "MySQL",
@@ -65,7 +65,7 @@
 
 		expected := []Backup{
 			Backup{
-				Created:     "2014-06-18T21:23:35",
+				Created:     timeVal,
 				Description: "Backup from Restored Instance",
 				ID:          "87972694-4be2-40f5-83f8-501656e0032a",
 				InstanceID:  "29af2cd9-0674-48ab-b87a-b160f00208e6",
@@ -74,7 +74,7 @@
 				ParentID:    "",
 				Size:        0.141026,
 				Status:      "COMPLETED",
-				Updated:     "2014-06-18T21:24:39",
+				Updated:     timeVal,
 				Datastore: datastores.DatastorePartial{
 					Version:   "5.1",
 					Type:      "MySQL",
@@ -101,7 +101,7 @@
 	th.AssertNoErr(t, err)
 
 	expected := &Backup{
-		Created:     "2014-02-13T21:47:16",
+		Created:     timeVal,
 		Description: "My Backup",
 		ID:          "61f12fef-edb1-4561-8122-e7c00ef26a82",
 		InstanceID:  "d4603f69-ec7e-4e9b-803f-600b9205576f",
@@ -110,7 +110,7 @@
 		ParentID:    "",
 		Size:        100,
 		Status:      "NEW",
-		Updated:     "2014-02-13T21:47:16",
+		Updated:     timeVal,
 		Datastore: datastores.DatastorePartial{
 			Version:   "5.1",
 			Type:      "MySQL",
diff --git a/rackspace/db/v1/backups/results.go b/rackspace/db/v1/backups/results.go
index 071cd33..82b551d 100644
--- a/rackspace/db/v1/backups/results.go
+++ b/rackspace/db/v1/backups/results.go
@@ -1,6 +1,8 @@
 package backups
 
 import (
+	"time"
+
 	"github.com/mitchellh/mapstructure"
 	"github.com/rackspace/gophercloud"
 	"github.com/rackspace/gophercloud/openstack/db/v1/datastores"
@@ -29,8 +31,8 @@
 	ParentID    string `json:"parent_id" mapstructure:"parent_id"`
 	Size        float64
 	Status      Status
-	Created     string
-	Updated     string
+	Created     time.Time `mapstructure:"-"`
+	Updated     time.Time `mapstructure:"-"`
 	Datastore   datastores.DatastorePartial
 }
 
@@ -64,6 +66,24 @@
 	}
 
 	err := mapstructure.Decode(r.Body, &response)
+	val := r.Body.(map[string]interface{})["backup"].(map[string]interface{})
+
+	if t, ok := val["created"].(string); ok && t != "" {
+		creationTime, err := time.Parse(time.RFC3339, t)
+		if err != nil {
+			return &response.Backup, err
+		}
+		response.Backup.Created = creationTime
+	}
+
+	if t, ok := val["updated"].(string); ok && t != "" {
+		updatedTime, err := time.Parse(time.RFC3339, t)
+		if err != nil {
+			return &response.Backup, err
+		}
+		response.Backup.Updated = updatedTime
+	}
+
 	return &response.Backup, err
 }
 
@@ -90,5 +110,32 @@
 	}
 
 	err := mapstructure.Decode(casted, &resp)
+
+	var vals []interface{}
+	switch (casted).(type) {
+	case interface{}:
+		vals = casted.(map[string]interface{})["backups"].([]interface{})
+	}
+
+	for i, v := range vals {
+		val := v.(map[string]interface{})
+
+		if t, ok := val["created"].(string); ok && t != "" {
+			creationTime, err := time.Parse(time.RFC3339, t)
+			if err != nil {
+				return resp.Backups, err
+			}
+			resp.Backups[i].Created = creationTime
+		}
+
+		if t, ok := val["updated"].(string); ok && t != "" {
+			updatedTime, err := time.Parse(time.RFC3339, t)
+			if err != nil {
+				return resp.Backups, err
+			}
+			resp.Backups[i].Updated = updatedTime
+		}
+	}
+
 	return resp.Backups, err
 }
