API15

JFactory/getDate

From Joomla! Documentation

< API15:JFactory
Revision as of 17:20, 22 March 2010 by Doxiki (talk | contribs) (New page: ===Description=== Return a reference to the JDate object <span class="editsection" style="font-size:76%;"> <nowiki>[</nowiki>Edit Descripton<nowiki>]<...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The "API15" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.

Description[edit]

Return a reference to the JDate object

[Edit Descripton]

Template:Description:JFactory/getDate

Syntax[edit]

& 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[edit]

object

Defined in[edit]

libraries/joomla/factory.php

Importing[edit]

jimport( 'joomla.factory' );

Source Body[edit]

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;
}

[Edit See Also] Template:SeeAlso:JFactory/getDate

Examples[edit]

<CodeExamplesForm />