If you are studying date_format because you want to format a date, consider the power of date(..) !!!!
the mktime article has an example of adding days to a date of your choice and then formatting it:
echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997))
where the 32 is like adding 1 day to the 31st .
date_format
(PHP 5 >= 5.2.0)
date_format — Retourne la date mis en forme dans le format donné
Description
string date_format
( DateTime $object
, string $format
)
string DateTime::format
( string $format
)
Liste de paramètres
- object
-
Seulement en style procédural : un DateTime object returné par date_create()
- format
-
Format accepté par date().
Valeurs de retour
Retourne une date mise en forme en cas de succès ou FALSE en cas d'échec.
Exemples
Exemple #1 Affichage de la date et de l'heure, de façon procédurale
<?php
date_default_timezone_set('Europe/London');
$datetime = date_create('2008-08-03 14:52:10');
echo date_format($datetime, 'jS, F Y') . "\n";
echo date_format($datetime, DATE_ATOM);
?>
Exemple #2 Affichage de la date et de l'heure, de façon orientée objet
<?php
date_default_timezone_set('Europe/London');
$datetime = new DateTime('2008-08-03 14:52:10');
echo $datetime->format('jS, F Y') . "\n";
echo $datetime->format(DATE_ATOM);
?>
?>
L'exemple ci-dessus va afficher :
3rd, August 2008 2008-08-03T14:52:10+01:00
date_format
Mike C
07-Jul-2008 07:23
07-Jul-2008 07:23
Matt Walsh
04-May-2007 07:43
04-May-2007 07:43
The ISO8601 output format doesn't jive with (at least) what eBay expects in its SOAP transactions. eBay wants a UTC time with a 'Z' suffix. That is, eBay (and I'm guessing other web services) will accept "2007-05-04T17:01:17Z" but not "2007-05-04T17:01:17+0000". As it is, the built-in DateTime::ISO8601 format uses the +0000 timezone specifier even when in a UTC timezone.
As a workaround, I do this:
<?php
function get_ebay_UTC_8601(DateTime $time)
{ $t = clone $time;
$t->setTimezone(new DateTimeZone("UTC"));
return $t->format("Y-m-d\TH:i:s\Z");
}
?>
