diff --git a/openstack/orchestration/v1/stackresources/results.go b/openstack/orchestration/v1/stackresources/results.go
index 7eff65e..edbd34f 100644
--- a/openstack/orchestration/v1/stackresources/results.go
+++ b/openstack/orchestration/v1/stackresources/results.go
@@ -52,14 +52,14 @@
 	for i, resourceRaw := range resources {
 		resource := resourceRaw.(map[string]interface{})
 		if date, ok := resource["updated_time"]; ok && date != nil {
-			t, err := time.Parse(gophercloud.STACK_TIME_FMT, date.(string))
+			t, err := time.Parse(gophercloud.StackFmtTime, date.(string))
 			if err != nil {
 				return nil, err
 			}
 			res.Res[i].UpdatedTime = t
 		}
 		if date, ok := resource["creation_time"]; ok && date != nil {
-			t, err := time.Parse(gophercloud.STACK_TIME_FMT, date.(string))
+			t, err := time.Parse(gophercloud.StackFmtTime, date.(string))
 			if err != nil {
 				return nil, err
 			}
@@ -109,14 +109,14 @@
 	for i, resourceRaw := range resources {
 		resource := resourceRaw.(map[string]interface{})
 		if date, ok := resource["updated_time"]; ok && date != nil {
-			t, err := time.Parse(gophercloud.STACK_TIME_FMT, date.(string))
+			t, err := time.Parse(gophercloud.StackFmtTime, date.(string))
 			if err != nil {
 				return nil, err
 			}
 			response.Resources[i].UpdatedTime = t
 		}
 		if date, ok := resource["creation_time"]; ok && date != nil {
-			t, err := time.Parse(gophercloud.STACK_TIME_FMT, date.(string))
+			t, err := time.Parse(gophercloud.StackFmtTime, date.(string))
 			if err != nil {
 				return nil, err
 			}
@@ -150,14 +150,14 @@
 	resource := r.Body.(map[string]interface{})["resource"].(map[string]interface{})
 
 	if date, ok := resource["updated_time"]; ok && date != nil {
-		t, err := time.Parse(gophercloud.STACK_TIME_FMT, date.(string))
+		t, err := time.Parse(gophercloud.StackFmtTime, date.(string))
 		if err != nil {
 			return nil, err
 		}
 		res.Res.UpdatedTime = t
 	}
 	if date, ok := resource["creation_time"]; ok && date != nil {
-		t, err := time.Parse(gophercloud.STACK_TIME_FMT, date.(string))
+		t, err := time.Parse(gophercloud.StackFmtTime, date.(string))
 		if err != nil {
 			return nil, err
 		}
