# media-cloud-sync/1.2.2/includes/sdk/s3/Aws/Api/TimestampShape.php

Media Cloud Sync, version 1.2.2. 46 lines.

- Page: https://pluginprobe.com/plugins/media-cloud-sync/1.2.2/code/includes/sdk/s3/Aws/Api/TimestampShape.php
- Raw: https://pluginprobe.com/plugins/media-cloud-sync/1.2.2/raw/includes/sdk/s3/Aws/Api/TimestampShape.php
- Modified: 2024-10-27T10:40:38+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/media-cloud-sync/1.2.2/code/includes/sdk/s3/Aws/Api/TimestampShape.php#L10-L20`.

```php
<?php

namespace Dudlewebs\WPMCS\s3\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);
        }
    }
}

```
