diff --git a/openstack/sharedfilesystems/v2/securityservices/results.go b/openstack/sharedfilesystems/v2/securityservices/results.go
index 746b2b3..6874208 100644
--- a/openstack/sharedfilesystems/v2/securityservices/results.go
+++ b/openstack/sharedfilesystems/v2/securityservices/results.go
@@ -1,6 +1,11 @@
 package securityservices
 
-import "github.com/gophercloud/gophercloud"
+import (
+	"encoding/json"
+	"time"
+
+	"github.com/gophercloud/gophercloud"
+)
 
 // SecurityService contains all the information associated with an OpenStack
 // SecurityService.
@@ -28,9 +33,28 @@
 	// The security service host name or IP address
 	Server string `json:"server"`
 	// The date and time stamp when the security service was created
-	CreatedAt gophercloud.JSONRFC3339MilliNoZ `json:"created_at"`
+	CreatedAt time.Time `json:"-"`
 	// The date and time stamp when the security service was updated
-	UpdatedAt gophercloud.JSONRFC3339MilliNoZ `json:"updated_at"`
+	UpdatedAt time.Time `json:"-"`
+}
+
+func (r *SecurityService) UnmarshalJSON(b []byte) error {
+	type tmp SecurityService
+	var s struct {
+		tmp
+		CreatedAt gophercloud.JSONRFC3339MilliNoZ `json:"created_at"`
+		UpdatedAt gophercloud.JSONRFC3339MilliNoZ `json:"updated_at"`
+	}
+	err := json.Unmarshal(b, &s)
+	if err != nil {
+		return err
+	}
+	*r = SecurityService(s.tmp)
+
+	r.CreatedAt = time.Time(s.CreatedAt)
+	r.UpdatedAt = time.Time(s.UpdatedAt)
+
+	return nil
 }
 
 type commonResult struct {
diff --git a/openstack/sharedfilesystems/v2/sharenetworks/results.go b/openstack/sharedfilesystems/v2/sharenetworks/results.go
index 1eb64bc..6762ef2 100644
--- a/openstack/sharedfilesystems/v2/sharenetworks/results.go
+++ b/openstack/sharedfilesystems/v2/sharenetworks/results.go
@@ -1,8 +1,10 @@
 package sharenetworks
 
 import (
+	"encoding/json"
 	"net/url"
 	"strconv"
+	"time"
 
 	"github.com/gophercloud/gophercloud"
 	"github.com/gophercloud/gophercloud/pagination"
@@ -34,9 +36,28 @@
 	// The Share Network description
 	Description string `json:"description"`
 	// The date and time stamp when the Share Network was created
-	CreatedAt gophercloud.JSONRFC3339MilliNoZ `json:"created_at"`
+	CreatedAt time.Time `json:"-"`
 	// The date and time stamp when the Share Network was updated
-	UpdatedAt gophercloud.JSONRFC3339MilliNoZ `json:"updated_at"`
+	UpdatedAt time.Time `json:"-"`
+}
+
+func (r *ShareNetwork) UnmarshalJSON(b []byte) error {
+	type tmp ShareNetwork
+	var s struct {
+		tmp
+		CreatedAt gophercloud.JSONRFC3339MilliNoZ `json:"created_at"`
+		UpdatedAt gophercloud.JSONRFC3339MilliNoZ `json:"updated_at"`
+	}
+	err := json.Unmarshal(b, &s)
+	if err != nil {
+		return err
+	}
+	*r = ShareNetwork(s.tmp)
+
+	r.CreatedAt = time.Time(s.CreatedAt)
+	r.UpdatedAt = time.Time(s.UpdatedAt)
+
+	return nil
 }
 
 type commonResult struct {
diff --git a/openstack/sharedfilesystems/v2/sharenetworks/testing/requests_test.go b/openstack/sharedfilesystems/v2/sharenetworks/testing/requests_test.go
index 0b28623..46c2d92 100644
--- a/openstack/sharedfilesystems/v2/sharenetworks/testing/requests_test.go
+++ b/openstack/sharedfilesystems/v2/sharenetworks/testing/requests_test.go
@@ -4,7 +4,6 @@
 	"testing"
 	"time"
 
-	"github.com/gophercloud/gophercloud"
 	"github.com/gophercloud/gophercloud/openstack/sharedfilesystems/v2/sharenetworks"
 	"github.com/gophercloud/gophercloud/pagination"
 	th "github.com/gophercloud/gophercloud/testhelper"
@@ -63,7 +62,7 @@
 		{
 			ID:              "32763294-e3d4-456a-998d-60047677c2fb",
 			Name:            "net_my1",
-			CreatedAt:       gophercloud.JSONRFC3339MilliNoZ(time.Date(2015, 9, 4, 14, 57, 13, 0, time.UTC)),
+			CreatedAt:       time.Date(2015, 9, 4, 14, 57, 13, 0, time.UTC),
 			Description:     "descr",
 			NetworkType:     "",
 			CIDR:            "",
@@ -72,13 +71,13 @@
 			NeutronSubnetID: "53482b62-2c84-4a53-b6ab-30d9d9800d06",
 			IPVersion:       0,
 			SegmentationID:  0,
-			UpdatedAt:       gophercloud.JSONRFC3339MilliNoZ(nilTime),
+			UpdatedAt:       nilTime,
 			ProjectID:       "16e1ab15c35a457e9c2b2aa189f544e1",
 		},
 		{
 			ID:              "713df749-aac0-4a54-af52-10f6c991e80c",
 			Name:            "net_my",
-			CreatedAt:       gophercloud.JSONRFC3339MilliNoZ(time.Date(2015, 9, 4, 14, 54, 25, 0, time.UTC)),
+			CreatedAt:       time.Date(2015, 9, 4, 14, 54, 25, 0, time.UTC),
 			Description:     "desecr",
 			NetworkType:     "",
 			CIDR:            "",
@@ -87,13 +86,13 @@
 			NeutronSubnetID: "53482b62-2c84-4a53-b6ab-30d9d9800d06",
 			IPVersion:       0,
 			SegmentationID:  0,
-			UpdatedAt:       gophercloud.JSONRFC3339MilliNoZ(nilTime),
+			UpdatedAt:       nilTime,
 			ProjectID:       "16e1ab15c35a457e9c2b2aa189f544e1",
 		},
 		{
 			ID:              "fa158a3d-6d9f-4187-9ca5-abbb82646eb2",
 			Name:            "",
-			CreatedAt:       gophercloud.JSONRFC3339MilliNoZ(time.Date(2015, 9, 4, 14, 51, 41, 0, time.UTC)),
+			CreatedAt:       time.Date(2015, 9, 4, 14, 51, 41, 0, time.UTC),
 			Description:     "",
 			NetworkType:     "",
 			CIDR:            "",
@@ -102,7 +101,7 @@
 			NeutronSubnetID: "",
 			IPVersion:       0,
 			SegmentationID:  0,
-			UpdatedAt:       gophercloud.JSONRFC3339MilliNoZ(nilTime),
+			UpdatedAt:       nilTime,
 			ProjectID:       "16e1ab15c35a457e9c2b2aa189f544e1",
 		},
 	}
@@ -150,7 +149,7 @@
 	expected := sharenetworks.ShareNetwork{
 		ID:              "7f950b52-6141-4a08-bbb5-bb7ffa3ea5fd",
 		Name:            "net_my1",
-		CreatedAt:       gophercloud.JSONRFC3339MilliNoZ(time.Date(2015, 9, 4, 14, 56, 45, 0, time.UTC)),
+		CreatedAt:       time.Date(2015, 9, 4, 14, 56, 45, 0, time.UTC),
 		Description:     "descr",
 		NetworkType:     "",
 		CIDR:            "",
@@ -159,7 +158,7 @@
 		NeutronSubnetID: "53482b62-2c84-4a53-b6ab-30d9d9800d06",
 		IPVersion:       0,
 		SegmentationID:  0,
-		UpdatedAt:       gophercloud.JSONRFC3339MilliNoZ(nilTime),
+		UpdatedAt:       nilTime,
 		ProjectID:       "16e1ab15c35a457e9c2b2aa189f544e1",
 	}
 
@@ -179,7 +178,7 @@
 	expected := sharenetworks.ShareNetwork{
 		ID:              "713df749-aac0-4a54-af52-10f6c991e80c",
 		Name:            "net_my2",
-		CreatedAt:       gophercloud.JSONRFC3339MilliNoZ(time.Date(2015, 9, 4, 14, 54, 25, 0, time.UTC)),
+		CreatedAt:       time.Date(2015, 9, 4, 14, 54, 25, 0, time.UTC),
 		Description:     "new description",
 		NetworkType:     "",
 		CIDR:            "",
@@ -188,7 +187,7 @@
 		NeutronSubnetID: "new-neutron-subnet-id",
 		IPVersion:       4,
 		SegmentationID:  0,
-		UpdatedAt:       gophercloud.JSONRFC3339MilliNoZ(time.Date(2015, 9, 7, 8, 2, 53, 512184000, time.UTC)),
+		UpdatedAt:       time.Date(2015, 9, 7, 8, 2, 53, 512184000, time.UTC),
 		ProjectID:       "16e1ab15c35a457e9c2b2aa189f544e1",
 	}
 
@@ -214,7 +213,7 @@
 	expected := sharenetworks.ShareNetwork{
 		ID:              "713df749-aac0-4a54-af52-10f6c991e80c",
 		Name:            "net_my2",
-		CreatedAt:       gophercloud.JSONRFC3339MilliNoZ(time.Date(2015, 9, 4, 14, 54, 25, 0, time.UTC)),
+		CreatedAt:       time.Date(2015, 9, 4, 14, 54, 25, 0, time.UTC),
 		Description:     "new description",
 		NetworkType:     "",
 		CIDR:            "",
@@ -223,7 +222,7 @@
 		NeutronSubnetID: "",
 		IPVersion:       4,
 		SegmentationID:  0,
-		UpdatedAt:       gophercloud.JSONRFC3339MilliNoZ(time.Date(2015, 9, 7, 8, 2, 53, 512184000, time.UTC)),
+		UpdatedAt:       time.Date(2015, 9, 7, 8, 2, 53, 512184000, time.UTC),
 		ProjectID:       "16e1ab15c35a457e9c2b2aa189f544e1",
 	}
 
diff --git a/openstack/sharedfilesystems/v2/shares/results.go b/openstack/sharedfilesystems/v2/shares/results.go
index aef9f9a..224d1df 100644
--- a/openstack/sharedfilesystems/v2/shares/results.go
+++ b/openstack/sharedfilesystems/v2/shares/results.go
@@ -1,6 +1,9 @@
 package shares
 
 import (
+	"encoding/json"
+	"time"
+
 	"github.com/gophercloud/gophercloud"
 )
 
@@ -60,7 +63,24 @@
 	SnapshotSupport          bool   `json:"snapshot_support"`
 	SourceCgsnapshotMemberID string `json:"source_cgsnapshot_member_id"`
 	// Timestamp when the share was created
-	CreatedAt gophercloud.JSONRFC3339MilliNoZ `json:"created_at"`
+	CreatedAt time.Time `json:"-"`
+}
+
+func (r *Share) UnmarshalJSON(b []byte) error {
+	type tmp Share
+	var s struct {
+		tmp
+		CreatedAt gophercloud.JSONRFC3339MilliNoZ `json:"created_at"`
+	}
+	err := json.Unmarshal(b, &s)
+	if err != nil {
+		return err
+	}
+	*r = Share(s.tmp)
+
+	r.CreatedAt = time.Time(s.CreatedAt)
+
+	return nil
 }
 
 type commonResult struct {
diff --git a/openstack/sharedfilesystems/v2/shares/testing/request_test.go b/openstack/sharedfilesystems/v2/shares/testing/request_test.go
index 7735e02..5b700a6 100644
--- a/openstack/sharedfilesystems/v2/shares/testing/request_test.go
+++ b/openstack/sharedfilesystems/v2/shares/testing/request_test.go
@@ -1,12 +1,12 @@
 package testing
 
 import (
-	"github.com/gophercloud/gophercloud"
+	"testing"
+	"time"
+
 	"github.com/gophercloud/gophercloud/openstack/sharedfilesystems/v2/shares"
 	th "github.com/gophercloud/gophercloud/testhelper"
 	"github.com/gophercloud/gophercloud/testhelper/client"
-	"testing"
-	"time"
 )
 
 func TestCreate(t *testing.T) {
@@ -57,16 +57,15 @@
 			"project": "my_app",
 			"aim":     "doc",
 		},
-		Status:          "available",
-		Description:     "My custom share London",
-		Host:            "manila2@generic1#GENERIC1",
-		HasReplicas:     false,
-		ReplicationType: "",
-		TaskState:       "",
-		SnapshotSupport: true,
-		Name:            "my_test_share",
-		CreatedAt: gophercloud.JSONRFC3339MilliNoZ(time.Date(
-			2015, time.September, 18, 10, 25, 24, 0, time.UTC)),
+		Status:                   "available",
+		Description:              "My custom share London",
+		Host:                     "manila2@generic1#GENERIC1",
+		HasReplicas:              false,
+		ReplicationType:          "",
+		TaskState:                "",
+		SnapshotSupport:          true,
+		Name:                     "my_test_share",
+		CreatedAt:                time.Date(2015, time.September, 18, 10, 25, 24, 0, time.UTC),
 		ShareProto:               "NFS",
 		VolumeType:               "default",
 		SourceCgsnapshotMemberID: "",
