How to use JDate/nl: Difference between revisions

From Joomla! Documentation

FuzzyBot (talk | contribs)
Updating to match new version of source page
No edit summary
Line 60: Line 60:
</source>
</source>


<div class="mw-translate-fuzzy">
De lokale tijdzone van de gebruiker kan worden genegeerd door een valse booleaanse waarde door te geven als functieparameter of door helemaal geen parameter door te geven. Als u een booleaanse waarde van true doorgeeft, wordt de datetime aangepast aan de tijdzone van de gebruiker. In het volgende voorbeeld is de tijdzone van de gebruiker ingesteld op "America / New_York".
We stellen de functie parameter voor in op "false" en na op "true" (gebruiker tijdzone is ingesteld op "America/New_York"), we krijgen:
</div>


<source lang="php">
<source lang="php">

Revision as of 10:33, 19 October 2019

Inleiding

JDate is een helper class, afgeleid van de PHP DateTime class, die ontwikkelaars de mogelijkheid geeft het datumformaat efficiënter af te handelen. De class helpt ontwikkelaars om datums op te maken tot leesbare strings, MySQL interactie, UNIX tijd berekeningen en levert ook helper-methodes bij het werken in andere tijdzones.

JDate gebruiken

Een JDate instantie maken

Alle datum helper methodes vereisen een instantie van de JDate class. Om te beginnen moet u er een aanmaken. Een JDate object kan op twee manieren aangemaakt worden. Eén is de oorspronkelijke methode door eenvoudigweg een nieuwe instantie aan te maken:

$date = new JDate(); // Creates a new JDate object equal to the current time.

U kunt ook een instantie aanmaken met behulp van de statische methode gedefinieerd in JDate:

$date = JDate::getInstance(); // Alias of 'new JDate();'

Er is geen verschil tussen deze twee methodes, aaangezien JDate::getInstance eenvoudig een instantie maakt van JDate, precies zoals de eerste getoonde methode.

Als alternatief kunt u de huidige datum (als JDate object) ook uit JApplication halen, door te gebruiken:

$date = JFactory::getDate();

Argumenten

De JDate constructor (en de getInstance statische methode) accepteert twee optionele parameters: Een datumstring om te formatteren, en een tijdzone. Het niet doorgeven van een datumstring zal een JDate object aanmaken met de huidige datum en tijd, terwijl het niet doorgeven van een tijdzone het JDate object zal toestaan de standaard ingestelde tijdzone te gebruiken.

Het eerste argument, indien gebruikt, moet een string zijn die kan worden verwerkt met behulp van php's eigen DateTime constructor. Bijvoorbeeld:

$currentTime = new JDate('now'); // Current date and time
$tomorrowTime = new JDate('now +1 day'); // Current date and time, + 1 day.
$Plus1MonthTime = new JDate('now +1 month'); // Current date and time, + 1 month.
$Plus1YearTime = new JDate('now +1 year'); // Current date and time, + 1 year.
$Plus1YearAnd1MonthTime = new JDate('now +1 year +1 month'); // Current date and time, + 1 year and 1 month.
$PlusTimeToTime = new JDate('now +1 hour +30 minutes +3 seconds'); // Current date and time, + 1 hour, 30 minutes and 3 seconds
$PlusTimeToTime = new JDate('now -1 hour +30 minutes +3 seconds'); // Current date and time, + 1 hour, 30 minutes and 3 seconds
$CombinedTimeToTime = new JDate('now -1 hour -30 minutes 23 seconds'); // Current date and time, - 1 hour, +30 minutes and +23 seconds

$date = new JDate('2012-12-1 15:20:00'); // 3:20 PM, December 1st, 2012


Voorbeelden

Voorbeeld van datumnotaties

JFactory::getDate() krijgt een JDate object en we voeren daarna de JDate toFormat functie uit

JFactory::getDate()->toFormat('%a %d %b %Y - %H:%M')

In de Joomla! CMS 3.3 API is de functie "toFormat" veranderd in "format", zodat bovenstaande voorbeeld zou moeten worden:

JFactory::getDate()->format('%a %d %b %Y - %H:%M')

Functie: toISO8601(boolean $local = false) : string

$date = new JDate('2016-01-01 02:00:00'); // A.M. time, in GMT timezone

De lokale tijdzone van de gebruiker kan worden genegeerd door een valse booleaanse waarde door te geven als functieparameter of door helemaal geen parameter door te geven. Als u een booleaanse waarde van true doorgeeft, wordt de datetime aangepast aan de tijdzone van de gebruiker. In het volgende voorbeeld is de tijdzone van de gebruiker ingesteld op "America / New_York".

$timezone = new DateTimeZone( JFactory::getUser()->getParam('timezone') );
$date->setTimezone($timezone);
echo $date->toISO8601(false); // 2016-01-01 T 02:00:00 +00:00
echo $date->toISO8601(true); // 2015-12-31 T 21:00:00-05:00 (local time in New York)