diff --git a/src/ptp-pack.c b/src/ptp-pack.c
index 5319525..1f8c2cb 100644
--- a/src/ptp-pack.c
+++ b/src/ptp-pack.c
@@ -675,6 +675,7 @@ ptp_unpack_PTPTIME (const char *str) {
 	char ptpdate[40];
 	char tmp[5];
 	size_t  ptpdatelen;
+	size_t tzoffs;
 	struct tm tm;
 
 	if (!str)
@@ -711,6 +712,31 @@ ptp_unpack_PTPTIME (const char *str) {
 	tmp[2] = 0;
 	tm.tm_sec = atoi (tmp);
 	tm.tm_isdst = -1;
+	/* Check for optional '.s' (tenths of a second) and skip */
+	/* MTP spec v1.1 section 3.2.5 */
+	tzoffs = 15;
+	if (ptpdate[tzoffs] == '.' && ptpdate[tzoffs + 1] != '\0') {
+		tzoffs += 2;
+	}
+	/* Check for 'Z' (UTC time) */
+	if (ptpdate[tzoffs] == 'Z') {
+		return timegm (&tm);
+	}
+	/* Check for timezone offset [+/-HHMM] */
+	if (strlen(ptpdate + tzoffs) == 5) {
+		time_t tz = 0;
+		strncpy (tmp, ptpdate + tzoffs + 1, 2);
+		tmp[2] = 0;
+		tz = atoi (tmp) * 60 * 60;
+		strncpy (tmp, ptpdate + tzoffs + 3, 2);
+		tmp[2] = 0;
+		tz += atoi (tmp) * 60;
+		if (ptpdate[tzoffs] == '-') {
+			return timegm (&tm) + tz;
+		}
+		return timegm (&tm) - tz;
+	}
+	/* Unspecified timezone, use local time */
 	return mktime (&tm);
 }
 
@@ -755,7 +781,7 @@ ptp_unpack_OI (PTPParams *params, unsigned char* data, PTPObjectInfo *oi, unsign
 
 	capture_date = ptp_unpack_string(params, data,
 		PTP_oi_filenamelen+filenamelen*2+1, len, &capturedatelen);
-	/* subset of ISO 8601, without '.s' tenths of second and 
+	/* subset of ISO 8601, with optional '.s' tenths of second and
 	 * time zone
 	 */
 	oi->CaptureDate = ptp_unpack_PTPTIME(capture_date);
