diff --git a/openstack/objectstorage/v1/objects/results.go b/openstack/objectstorage/v1/objects/results.go
index e29e3a8..ecb2c54 100644
--- a/openstack/objectstorage/v1/objects/results.go
+++ b/openstack/objectstorage/v1/objects/results.go
@@ -4,6 +4,7 @@
 	"fmt"
 	"io"
 	"io/ioutil"
+	"strconv"
 	"strings"
 	"time"
 
@@ -117,7 +118,7 @@
 	ContentLength      int64     `mapstructure:"Content-Length"`
 	ContentType        string    `mapstructure:"Content-Type"`
 	Date               time.Time `mapstructure:"-"`
-	DeleteAt           int       `mapstructure:"X-Delete-At"`
+	DeleteAt           time.Time `mapstructure:"-"`
 	ETag               string    `mapstructure:"Etag"`
 	LastModified       time.Time `mapstructure:"-"`
 	ObjectManifest     string    `mapstructure:"X-Object-Manifest"`
@@ -144,7 +145,7 @@
 	}
 
 	if date, ok := dr.Header["Date"]; ok && len(date) > 0 {
-		t, err := time.Parse(time.RFC1123, dr.Header["Date"][0])
+		t, err := time.Parse(time.RFC1123, date[0])
 		if err != nil {
 			return dh, err
 		}
@@ -152,13 +153,21 @@
 	}
 
 	if date, ok := dr.Header["Last-Modified"]; ok && len(date) > 0 {
-		t, err := time.Parse(time.RFC1123, dr.Header["Last-Modified"][0])
+		t, err := time.Parse(time.RFC1123, date[0])
 		if err != nil {
 			return dh, err
 		}
 		dh.LastModified = t
 	}
 
+	if date, ok := dr.Header["X-Delete-At"]; ok && len(date) > 0 {
+		unix, err := strconv.ParseInt(date[0], 10, 64)
+		if err != nil {
+			return dh, err
+		}
+		dh.DeleteAt = time.Unix(unix, 0)
+	}
+
 	return dh, nil
 }
 
@@ -186,7 +195,7 @@
 	ContentLength      int64     `mapstructure:"Content-Length"`
 	ContentType        string    `mapstructure:"Content-Type"`
 	Date               time.Time `mapstructure:"-"`
-	DeleteAt           int       `mapstructure:"X-Delete-At"`
+	DeleteAt           time.Time `mapstructure:"-"`
 	ETag               string    `mapstructure:"Etag"`
 	LastModified       time.Time `mapstructure:"-"`
 	ObjectManifest     string    `mapstructure:"X-Object-Manifest"`
@@ -227,6 +236,14 @@
 		gh.LastModified = t
 	}
 
+	if date, ok := gr.Header["X-Delete-At"]; ok && len(date) > 0 {
+		unix, err := strconv.ParseInt(date[0], 10, 64)
+		if err != nil {
+			return gh, err
+		}
+		gh.DeleteAt = time.Unix(unix, 0)
+	}
+
 	return gh, nil
 }
 
