Actions

API15

JFactory/getDate

From Joomla! Documentation

< API15:JFactory
Replacement filing cabinet.png
This Namespace has been archived - Please Do Not Edit or Create Pages in this namespace. Pages contain information for a Joomla! version which is no longer supported. It exists only as a historical reference, will not be improved and its content may be incomplete.

Contents

Description

Return a reference to the JDate object

[<! removed edit link to red link >]

<! removed transcluded page call, red link never existed >

Syntax

& getDate($time= 'now', $tzOffset=0)
Parameter Name Default Value Description
$time 'now' $time The initial time for the object
$tzOffset 0 $tzOffset The timezone offset.

Returns

object

Defined in

libraries/joomla/factory.php

Importing

jimport( 'joomla.factory' );

Source Body

function &getDate($time = 'now', $tzOffset = 0)
{
        jimport('joomla.utilities.date');
        static $instances;
        static $classname;
        static $mainLocale;
 
        if(!isset($instances)) {
                $instances = array();
        }
 
        $language =& JFactory::getLanguage();
        $locale = $language->getTag();
 
        if(!isset($classname) || $locale != $mainLocale) {
                //Store the locale for future reference
                $mainLocale = $locale;
                $localePath = JPATH_ROOT . DS . 'language' . DS . $mainLocale . DS . $mainLocale . '.date.php';
                if($mainLocale !== false && file_exists($localePath)) {
                        $classname = 'JDate'.str_replace('-', '_', $mainLocale);
                        JLoader::register( $classname,  $localePath);
                        if(!class_exists($classname)) {
                                //Something went wrong.  The file exists, but the class does not, default to JDate
                                $classname = 'JDate';
                        }
                } else {
                        //No file, so default to JDate
                        $classname = 'JDate';
                }
        }
        $key = $time . '-' . $tzOffset;
 
        if(!isset($instances[$classname][$key])) {
                $tmp = new $classname($time, $tzOffset);
                //We need to serialize to break the reference
                $instances[$classname][$key] = serialize($tmp);
                unset($tmp);
        }
 
        $date = unserialize($instances[$classname][$key]);
        return $date;
}

[<! removed edit link to red link >] <! removed transcluded page call, red link never existed >

Examples

<CodeExamplesForm />