PHP Classes

File: system/dependencies/smarty/plugins/shared.make_timestamp.php

Recommend this page to a friend!
  Classes of Dimitri Sitchet   dFramework   system/dependencies/smarty/plugins/shared.make_timestamp.php   Download  
File: system/dependencies/smarty/plugins/shared.make_timestamp.php
Role: Example script
Content type: text/plain
Description: Example script
Class: dFramework
Framework to build PHP applications
Author: By
Last change:
Date: 4 years ago
Size: 1,483 bytes
 

Contents

Class file image Download
<?php
/**
 * Smarty shared plugin
 *
 * @package Smarty
 * @subpackage PluginsShared
 */
/**
 * Function: smarty_make_timestamp
 * Purpose: used by other smarty functions to make a timestamp from a string.
 *
 * @author Monte Ohrt <monte at ohrt dot com>
 *
 * @param DateTime|int|string $string date object, timestamp or string that can be converted using strtotime()
 *
 * @return int
 */
function smarty_make_timestamp($string)
{
    if (empty(
$string)) {
       
// use "now":
       
return time();
    } elseif (
$string instanceof DateTime
             
|| (interface_exists('DateTimeInterface', false) && $string instanceof DateTimeInterface)
    ) {
        return (int)
$string->format('U'); // PHP 5.2 BC
   
} elseif (strlen($string) === 14 && ctype_digit($string)) {
       
// it is mysql timestamp format of YYYYMMDDHHMMSS?
       
return mktime(
           
substr($string, 8, 2),
           
substr($string, 10, 2),
           
substr($string, 12, 2),
           
substr($string, 4, 2),
           
substr($string, 6, 2),
           
substr($string, 0, 4)
        );
    } elseif (
is_numeric($string)) {
       
// it is a numeric string, we handle it as timestamp
       
return (int)$string;
    } else {
       
// strtotime should handle it
       
$time = strtotime($string);
        if (
$time === -1 || $time === false) {
           
// strtotime() was not able to parse $string, use "now":
           
return time();
        }
        return
$time;
    }
}