Source for file date_format.php

Documentation is available at date_format.php

  1. <?php
  2.  
  3. /**
  4.  * Formats a date
  5.  * <pre>
  6.  *  * value : the date, as a unix timestamp, mysql datetime or whatever strtotime() can parse
  7.  *  * format : output format, see {@link http://php.net/strftime} for details
  8.  *  * default : a default timestamp value, if the first one is empty
  9.  * </pre>
  10.  * This software is provided 'as-is', without any express or implied warranty.
  11.  * In no event will the authors be held liable for any damages arising from the use of this software.
  12.  *
  13.  * @author     Jordi Boggiano <j.boggiano@seld.be>
  14.  * @copyright  Copyright (c) 2008, Jordi Boggiano
  15.  * @license    http://dwoo.org/LICENSE   Modified BSD License
  16.  * @link       http://dwoo.org/
  17.  * @version    1.0.1
  18.  * @date       2008-12-24
  19.  * @package    Dwoo
  20.  */
  21. function Dwoo_Plugin_date_format(Dwoo $dwoo$value$format='%b %e, %Y'$default=null)
  22. {
  23.     if (!empty($value)) {
  24.         // convert if it's not a valid unix timestamp
  25.         if (preg_match('#^-?\d{1,10}$#'$value)===0{
  26.             $value strtotime($value);
  27.         }
  28.     elseif (!empty($default)) {
  29.         // convert if it's not a valid unix timestamp
  30.         if (preg_match('#^-?\d{1,10}$#'$default)===0{
  31.             $value strtotime($default);
  32.         else {
  33.             $value $default;
  34.         }
  35.     else {
  36.         return '';
  37.     }
  38.  
  39.     // Credits for that windows compat block to Monte Ohrt who made smarty's date_format plugin
  40.     if (DIRECTORY_SEPARATOR == '\\'{
  41.         $_win_from array('%D',       '%h''%n''%r',          '%R',    '%t''%T');
  42.         $_win_to   array('%m/%d/%y''%b'"\n"'%I:%M:%S %p''%H:%M'"\t"'%H:%M:%S');
  43.         if (strpos($format'%e'!== false{
  44.             $_win_from['%e';
  45.             $_win_to[]   sprintf('%\' 2d'date('j'$value));
  46.         }
  47.         if (strpos($format'%l'!== false{
  48.             $_win_from['%l';
  49.             $_win_to[]   sprintf('%\' 2d'date('h'$value));
  50.         }
  51.         $format str_replace($_win_from$_win_to$format);
  52.     }
  53.     return strftime($format$value);
  54. }

Documentation generated on Sun, 07 Feb 2010 17:53:32 +0000 by phpDocumentor 1.4.0