PHP Classes

File: application/modules/extensions/aws/Aws/Api/TimestampShape.php

Recommend this page to a friend!
  Classes of Tran Tuan   Pretty PHP S3 Files Manager   application/modules/extensions/aws/Aws/Api/TimestampShape.php   Download  
File: application/modules/extensions/aws/Aws/Api/TimestampShape.php
Role: Application script
Content type: text/plain
Description: Application script
Class: Pretty PHP S3 Files Manager
Web based interface to manage files in Amazon S3
Author: By
Last change:
Date: 8 years ago
Size: 1,472 bytes
 

Contents

Class file image Download
<?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);
        }
    }
}