| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | 
							- <?php
 
- namespace Aws\Api;
 
- /**
 
-  * Represents a timestamp shape.
 
-  */
 
- class TimestampShape extends Shape
 
- {
 
-     public function __construct(array $definition, ShapeMap $shapeMap)
 
-     {
 
-         $definition['type'] = 'timestamp';
 
-         parent::__construct($definition, $shapeMap);
 
-     }
 
-     /**
 
-      * Formats a timestamp value for a service.
 
-      *
 
-      * @param mixed  $value  Value to format
 
-      * @param string $format Format used to serialize the value
 
-      *
 
-      * @return int|string
 
-      * @throws \UnexpectedValueException if the format is unknown.
 
-      * @throws \InvalidArgumentException if the value is an unsupported type.
 
-      */
 
-     public static function format($value, $format)
 
-     {
 
-         if ($value instanceof \DateTimeInterface) {
 
-             $value = $value->getTimestamp();
 
-         } elseif (is_string($value)) {
 
-             $value = strtotime($value);
 
-         } elseif (!is_int($value)) {
 
-             throw new \InvalidArgumentException('Unable to handle the provided'
 
-                 . ' timestamp type: ' . gettype($value));
 
-         }
 
-         switch ($format) {
 
-             case 'iso8601':
 
-                 return gmdate('Y-m-d\TH:i:s\Z', $value);
 
-             case 'rfc822':
 
-                 return gmdate('D, d M Y H:i:s \G\M\T', $value);
 
-             case 'unixTimestamp':
 
-                 return $value;
 
-             default:
 
-                 throw new \UnexpectedValueException('Unknown timestamp format: '
 
-                     . $format);
 
-         }
 
-     }
 
- }
 
 
  |