Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

strftime

Datums- und Zeit-Funktionen

    Befehl:
string strftime ( string $format [, int $ Timestamp ] )


    Parameter-Liste:
NameBeschreibung
format
Die folgenden Zeichen sind in der Format Parameter-String erkannt.
FormatBeschreibungBeispiel für Rückgabewerte
Tage  
%aEine gekürzte Textdarstellung des TagesSon bis am Sam
%AEin Volltextdarstellung des TagesSonntag bis und mit Samstag
%dZweistellige Tag des Monats (mit führenden Nullen)01 bis 31
%eTag des Monats, mit einem Leerzeichen vor einstelligen Bereich. Nicht implementiert, wie unter Windows beschrieben. Siehe unten für weitere Informationen. 1 bis 31
%jTag des Jahres, 3-stellig mit führenden Nullen001 bis 366
%uISO-8601-numerische Darstellung des Tag der Woche1 (für Montag) bis zu 7 (for Sonntag)
%wNumerische Darstellung der Tag der Woche0 (für Sonntag) bis zu 6 (for Samstag)
Woche  
%UWochennummer im jeweiligen Jahr, beginnend mit dem ersten Sonntag als ersten Woche.13 (für die 13. Woche des Jahres)
%VISO-8601: 1988 Nummer der Woche des Jahres, beginnend mit der ersten Woche des Jahres mit mindestens vier Wochentagen, mit Montag als der Beginn der Woche01 through 53 (wo 53 Konten für einen überlappenden Woche)
%WEine numerische Darstellung der Woche des Jahres, beginnend mit dem ersten Montag als ersten Woche46 (für die 46. Woche des Jahres beginnt mit einem Montag)
Monat  
%bAbgekürzter Name des Monats, auf der Grundlage der LändereinstellungJan bis zum Dez
%BVollständiger Monatsname, auf der Grundlage der LändereinstellungJanuar bis zum Dezember
%hAbgekürzter Name des Monats, auf der Grundlage der Gebietsschema (ein Alias von %b)Jan bis zum Dez
%mZweistellige Darstellung des Monats01 (für Januar) bis zu 12 (for Dezember)
Jahr  
%CZweistellige Darstellung des Jahrhunderts (geteilt durch 100 Jahre, abgeschnitten auf eine ganze Zahl)19 für das 20. Jahrhundert
%gZweistellige Darstellung des Jahres gehen durch ISO-8601: 1988 Normen (siehe %V)Beispiel: 09 für die Woche vom 6. Januar 2009
%GDer vollständige vierstellige Version von %gBeispiel: 2008 für die Woche vom 3. Januar 2009
%yZweistellige Darstellung des JahresBeispiel: 09 für 2009, 79 für 1979
%YVierstellige Darstellung für das JahrBeispiel: 2038
Zeit  
%HZweistellige Darstellung der Stunden im 24-Stunden-Format00 bis zu 23
%kZweistellige Darstellung der Stunden im 24-Stunden-Format, mit einem Leerzeichen vor einstelligen 0 bis zu 23
%IZweistellige Darstellung der Stunde in 12-Stunden-Format01 bis zu 12
%l (Kleinbuchstaben'L')Stunde im 12-Stunden-Format, mit einem Leerzeichen vor einstelligen 1 bis zu 12
%MZweistellige Darstellung der Minute00 bis zu 59
%pUPPER-CASE 'AM' oder 'PM' auf der Grundlage der gegebenen ZeitBeispiel: AM für 00:31, PM für 22:23
%Plower-case 'am' oder 'pm' auf der Grundlage der gegebenen ZeitBeispiel: am für 00:31, pm für 22:23
%rDas gleiche wie "%I:%M:%S %p"Beispiel: 09:34:17 PM for 21:34:17
%RDas gleiche wie "%H:%M"Beispiel: 00:35 für 12:35 AM, 16:44 für 4:44 PM
%SZweistellige Darstellung des zweiten00 bis zu 59
%TDas gleiche wie "%H:%M:%S"Beispiel: 21:34:17 für 09:34:17 PM
%XBevorzugte Zeit-Darstellung basierend auf Gebietsschema, ohne DatumBeispiel: 03:59:16 oder 15:59:16
%zDer Zeitzonenoffset. Nicht implementiert, wie unter Windows beschrieben. Siehe unten für weitere Informationen.Beispiel: -0500 für US Eastern Time
%ZDie Zeitzonenabkürzung. Nicht implementiert, wie unter Windows beschrieben. Siehe unten für weitere Informationen.Beispiel: EST für Eastern Time
Time and Date Stamps 
%cBevorzugte Datum und Zeitstempel auf GebietsschemaBeispiel: Tue Feb 5 00:45:10 2009 für February 5, 2009 at 12:45:10 AM
%DDas gleiche wie "%m/%d/%y"Beispiel: 02/05/09 für February 5, 2009
%FDas gleiche wie "%Y-%m-%d" (häufig in der Datenbank Datumsstempel verwendet)Beispiel: 2009-02-05 für February 5, 2009
%sUnix-Epoche Zeit-Zeitstempel (das gleiche wie die time() Function)Beispiel: 305815200 für September 10, 1979 08:40:00 AM
%xWunschtermin Darstellung basierend auf Gebietsschema, ohne die ZeitBeispiel: 02/05/09 für February 5, 2009
Verschiedenes 
%nEin Zeilenumbruch ("\n") 
%tEin Tab-Zeichen ("\t") 
%%Eine wörtliche Prozentzeichen ("%") 
Warnung:
Im Gegensatz zu ISO-9899: 1999, Sun Solaris beginnt mit dem Sonntag als 1. Als Ergebnis%u funktionieren möglicherweise nicht wie in diesem Handbuch beschrieben.
Warnung:
Nur Windows:

Die%e-Modifikator wird nicht in der Windows-Implementierung dieser Funktion unterstützt. Um diesen Wert zu erreichen, kann die %#d Modifikator stattdessen verwendet werden. Das folgende Beispiel zeigt, wie ein Cross-Plattform-kompatibel Funktion schreiben.

Die %z und %Z Modifikatoren sowohl die Zeitzone zurückkehren Namen statt der Offset-oder Abkürzung.
Warnung:
Mac OS X: Der Modifikator %P nicht in der Mac OS X-Implementierung dieser Funktion unterstützt.
timestampDer optionale Parameter timestamp ist eine ganze Zahl Unix-Zeitstempel, die standardmässig die aktuelle Ortszeit, wenn ein Zeitstempel ist nicht gegeben. Mit anderen Worten, wird standardmässig der Wert der time().

    Rückgabewerte:
Gibt einen String formatiert entsprechend Format mit dem angegebenen Timestamp oder die gegenwärtige lokale Zeit, wenn kein Timestamp angegegeben. Monatsnamen und Wochentagen und anderen sprachabhängigen Strings respektieren das aktuelle Gebietsschema Set mit setlocale().

    Beschreibung:
Gibt einen String zurück, der den angegebenen Formatierungs-Merkmalen entspricht. Dabei wird der gegebene Timestamp / Zeitstempel oder - falls dieser fehlt - die momentane lokale Zeit benutzt. Der Monats- und Wochentagsname wird entsprechend des per setlocale() eingestellten Wertes gesetzt.


    Aktiv in Version:
(PHP 4, PHP 5, PHP 7)

    Hinweis:
Hinweis:

%G und %V, die auf ISO 8601:1988 Wochennummern beruhen, können unerwartete (obwohl korrekte) Ergebnisse geben, wenn Sie das Nummernsystem nicht gründlich verstehen. Siehe %V in diesem Handbuch Seite.


    Fehler:
Jeder Anruf auf ein Datum / Zeit-Funktion eine E_NOTICE erzeugen, wenn die Zeitzone nicht gültig ist, und / oder eine oder E_STRICT E_WARNING Nachricht, wenn die Systemeinstellung oder die TZ-Umgebungsvariable. Siehe auch date_default_timezone_set().

Da der Ausgang ist abhängig von der zugrunde liegenden C-Bibliothek werden einige Konvertierungs Spezifikation nicht unterstützt. Unter Windows liefert unbekannt Konvertierungsspezifizierer in 5 E_WARNING Meldungen führen und FALSE zurückgeben. Auf anderen Betriebssystemen können Sie nicht alle E_WARNING Meldungen erhalten und der Ausgang kann die Konvertierungs Planer nicht umgesetzten enthalten.

    Warnung:
Warnung:

Im Gegensatz zu ISO-9899: 1999, Sun Solaris beginnt mit dem Sonntag als 1. Als Ergebnis %u funktionieren möglicherweise nicht wie in diesem Handbuch beschrieben.


    Siehe auch:
Setzt Locale Informationen
 
Gibt den Unix-Timestamp/Zeitstempel für ein Datum zurück
 

strftime() - Beispiel: locale


Eingabe:
<?php
setlocale(LC_TIME, "C");
echo strftime("%A");
setlocale(LC_TIME, "fi_FI");
echo strftime(" in Finnish is %A,");
setlocale(LC_TIME, "fr_FR");
echo strftime(" in French %A and");
setlocale(LC_TIME, "de_DE");
echo strftime(" in German %A.\n");
?>


Beschreibung:
Version Beschreibung
5.1.0 Jetzt gibt die Zeitzonenfehler E_STRICT und E_NOTICE.
strftime() - Beispiel 2: ISO 8601:1988 Wochennummer


Eingabe:
<?php
/*     December 2002 / January 2003
ISOWk  M   Tu  W   Thu F   Sa  Su
----- ----------------------------
51     16  17  18  19  20  21  22
52     23  24  25  26  27  28  29
1      30  31   1   2   3   4   5
2       6   7   8   9  10  11  12
3      13  14  15  16  17  18  19   */

// Ausgabe: 12/28/2002 - %V,%G,%Y = 52,2002,2002
echo "12/28/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/28/2002")) . "\n";

// Ausgabe: 12/30/2002 - %V,%G,%Y = 1,2003,2002
echo "12/30/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/30/2002")) . "\n";

// Ausgabe: 1/3/2003 - %V,%G,%Y = 1,2003,2003
echo "1/3/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2003")) . "\n";

// Ausgabe: 1/10/2003 - %V,%G,%Y = 2,2003,2003
echo "1/10/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/10/2003")) . "\n";



/*     December 2004 / January 2005
ISOWk  M   Tu  W   Thu F   Sa  Su
----- ----------------------------
51     13  14  15  16  17  18  19
52     20  21  22  23  24  25  26
53     27  28  29  30  31   1   2
1       3   4   5   6   7   8   9
2      10  11  12  13  14  15  16   */

// Ausgabe: 12/23/2004 - %V,%G,%Y = 52,2004,2004
echo "12/23/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/23/2004")) . "\n";

// Ausgabe: 12/31/2004 - %V,%G,%Y = 53,2004,2004
echo "12/31/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/31/2004")) . "\n";

// Ausgabe: 1/2/2005 - %V,%G,%Y = 53,2004,2005
echo "1/2/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/2/2005")) . "\n";

// Ausgabe: 1/3/2005 - %V,%G,%Y = 1,2005,2005
echo "1/3/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n";

?>


Beschreibung:
Version Beschreibung
5.1.0 Jetzt gibt die Zeitzonenfehler E_STRICT und E_NOTICE.
strftime() - Beispiel 3: Cross-Plattform-kompatibel beispielsweise mit dem %e Modifikator


Eingabe:
<?php
// Jan 1: results in: '%e%1%' (%%, e, %%, %e, %%)
$format = '%%e%%%e%%';

// Überprüfen Sie für Windows zu finden und zu ersetzen %e
// Modifikator korrekt
if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
    $format = preg_replace('#(?<!%)((?:%%)*)%e#', '\1%#d', $format);
}

echo strftime($format);
?>


Beschreibung:
Version Beschreibung
5.1.0 Jetzt gibt die Zeitzonenfehler E_STRICT und E_NOTICE.
strftime() - Beispiel 4: Anzeige aller bekannten und unbekannten Formaten.


Eingabe:
<?php
// Describe the formats.
$strftimeFormats = array(
    'A' => 'A full textual representation of the day',
    'B' => 'Full month name, based on the locale',
    'C' => 'Two digit representation of the century (year divided by 100, truncated to an integer)',
    'D' => 'Same as "%m/%d/%y"',
    'E' => '',
    'F' => 'Same as "%Y-%m-%d"',
    'G' => 'The full four-digit version of %g',
    'H' => 'Two digit representation of the hour in 24-hour format',
    'I' => 'Two digit representation of the hour in 12-hour format',
    'J' => '',
    'K' => '',
    'L' => '',
    'M' => 'Two digit representation of the minute',
    'N' => '',
    'O' => '',
    'P' => 'lower-case "am" or "pm" based on the given time',
    'Q' => '',
    'R' => 'Same as "%H:%M"',
    'S' => 'Two digit representation of the second',
    'T' => 'Same as "%H:%M:%S"',
    'U' => 'Week number of the given year, starting with the first Sunday as the first week',
    'V' => 'ISO-8601:1988 week number of the given year, starting with the first week of the
               year with at least 4 weekdays, with Monday being the start of the week',
    'W' => 'A numeric representation of the week of the year, starting with the first Monday
            as the first week',
    'X' => 'Preferred time representation based on locale, without the date',
    'Y' => 'Four digit representation for the year',
    'Z' => 'The time zone offset/abbreviation option NOT given by %z (depends on operating system)',
    'a' => 'An abbreviated textual representation of the day',
    'b' => 'Abbreviated month name, based on the locale',
    'c' => 'Preferred date and time stamp based on local',
    'd' => 'Two-digit day of the month (with leading zeros)',
    'e' => 'Day of the month, with a space preceding single digits',
    'f' => '',
    'g' => 'Two digit representation of the year going by ISO-8601:1988 standards (see %V)',
    'h' => 'Abbreviated month name, based on the locale (an alias of %b)',
    'i' => '',
    'j' => 'Day of the year, 3 digits with leading zeros',
    'k' => 'Hour in 24-hour format, with a space preceding single digits',
    'l' => 'Hour in 12-hour format, with a space preceding single digits',
    'm' => 'Two digit representation of the month',
    'n' => 'A newline character ("\n")',
    'o' => '',
    'p' => 'UPPER-CASE "AM" or "PM" based on the given time',
    'q' => '',
    'r' => 'Same as "%I:%M:%S %p"',
    's' => 'Unix Epoch Time timestamp',
    't' => 'A Tab character ("\t")',
    'u' => 'ISO-8601 numeric representation of the day of the week',
    'v' => '',
    'w' => 'Numeric representation of the day of the week',
    'x' => 'Preferred date representation based on locale, without the time',
    'y' => 'Two digit representation of the year',
    'z' => 'Either the time zone offset from UTC or the abbreviation (depends on operating system)',
    '%' => 'A literal percentage character ("%")',
);

// Results.
$strftimeValues = array();

// Evaluate the formats whilst suppressing any errors.
foreach($strftimeFormats as $format => $description){
    if (False !== ($value = @strftime("%{$format}"))){
        $strftimeValues[$format] = $value;
    }
}

// Find the longest value.
$maxValueLength = 2 + max(array_map('strlen', $strftimeValues));

// Report known formats.
foreach($strftimeValues as $format => $value){
    echo "Known format   : '{$format}' = ", str_pad("'{$value}'",
       $maxValueLength), " ( {$strftimeFormats[$format]} )\n";
}

// Report unknown formats.
foreach(array_diff_key($strftimeFormats, $strftimeValues) as $format => $description){
    echo "Unknown format : '{$format}'   ", str_pad(' ', $maxValueLength),
           ($description ? " ( {$description} )" : ''), "\n";
}
?>


Ausgabe:
Known format   : 'A' = 'Friday'            ( A full textual representation of the day )
Known format   : 'B' = 'December'          ( Full month name, based on the locale )
Known format   : 'H' = '11'                ( Two digit representation of the hour in 24-hour format )
Known format   : 'I' = '11'                ( Two digit representation of the hour in 12-hour format )
Known format   : 'M' = '24'                ( Two digit representation of the minute )
Known format   : 'S' = '44'                ( Two digit representation of the second )
Known format   : 'U' = '48'                ( Week number of the given year, starting with the first Sunday as the first week )
Known format   : 'W' = '48'                ( A numeric representation of the week of the year, starting with the first Monday as the first week )
Known format   : 'X' = '11:24:44'          ( Preferred time representation based on locale, without the date )
Known format   : 'Y' = '2010'              ( Four digit representation for the year )
Known format   : 'Z' = 'GMT Standard Time' ( The time zone offset/abbreviation option NOT given by %z (depends on operating system) )
Known format   : 'a' = 'Fri'               ( An abbreviated textual representation of the day )
Known format   : 'b' = 'Dec'               ( Abbreviated month name, based on the locale )
Known format   : 'c' = '12/03/10 11:24:44' ( Preferred date and time stamp based on local )
Known format   : 'd' = '03'                ( Two-digit day of the month (with leading zeros) )
Known format   : 'j' = '337'               ( Day of the year, 3 digits with leading zeros )
Known format   : 'm' = '12'                ( Two digit representation of the month )
Known format   : 'p' = 'AM'                ( UPPER-CASE "AM" or "PM" based on the given time )
Known format   : 'w' = '5'                 ( Numeric representation of the day of the week )
Known format   : 'x' = '12/03/10'          ( Preferred date representation based on locale, without the time )
Known format   : 'y' = '10'                ( Two digit representation of the year )
Known format   : 'z' = 'GMT Standard Time' ( Either the time zone offset from UTC or the abbreviation (depends on operating system) )
Known format   : '%' = '%'                 ( A literal percentage character ("%") )
Unknown format : 'C'                       ( Two digit representation of the century (year divided by 100, truncated to an integer) )
Unknown format : 'D'                       ( Same as "%m/%d/%y" )
Unknown format : 'E'
Unknown format : 'F'                       ( Same as "%Y-%m-%d" )
Unknown format : 'G'                       ( The full four-digit version of %g )
Unknown format : 'J'
Unknown format : 'K'
Unknown format : 'L'
Unknown format : 'N'
Unknown format : 'O'
Unknown format : 'P'                       ( lower-case "am" or "pm" based on the given time )
Unknown format : 'Q'
Unknown format : 'R'                       ( Same as "%H:%M" )
Unknown format : 'T'                       ( Same as "%H:%M:%S" )
Unknown format : 'V'                       ( ISO-8601:1988 week number of the given year, starting with the first week of the year with at least 4 weekdays, with Monday being the start of the week )
Unknown format : 'e'                       ( Day of the month, with a space preceding single digits )
Unknown format : 'f'
Unknown format : 'g'                       ( Two digit representation of the year going by ISO-8601:1988 standards (see %V) )
Unknown format : 'h'                       ( Abbreviated month name, based on the locale (an alias of %b) )
Unknown format : 'i'
Unknown format : 'k'
Unknown format : 'l'                       ( Hour in 12-hour format, with a space preceding single digits )
Unknown format : 'n'                       ( A newline character ("\n") )
Unknown format : 'o'
Unknown format : 'q'
Unknown format : 'r'                       ( Same as "%I:%M:%S %p" )
Unknown format : 's'                       ( Unix Epoch Time timestamp )
Unknown format : 't'                       ( A Tab character ("\t") )
Unknown format : 'u'                       ( ISO-8601 numeric representation of the day of the week )
Unknown format : 'v'

Beschreibung:
Version Beschreibung
5.1.0 Jetzt gibt die Zeitzonenfehler E_STRICT und E_NOTICE.
Datums- und Zeit-Funktionen