Seditio Source
Root |
./othercms/dle15_0/upload/engine/classes/composer/vendor/aws/aws-sdk-php/src/Api/TimestampShape.php
<?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 \DateTime) {
           
$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);
        }
    }
}