Werner-Zenk.de - Zur Startseite

PHP - Datum und Uhrzeit formatiert ausgeben

Die Eingabe erfolgt im Format: YYYY-MM-DD HH:II:SS
Folgende Zeitangaben werden ausgeben:

2018-01-04 22:30:07  <?=datetime('2018-01-04 22:30:07');?>
➧ am 4.1.2018

2018-01-04 22:30:07  <?=datetime('2018-01-04 22:30:07', true);?>
➧ am Donnerstag, den 4 Januar 2018

2018-01-04 22:30:07  <?=datetime('2018-01-04 22:30:07', true, true);?>
➧ am Donnerstag, den 4 Januar 2018 (vor 5 Monaten)


2018-05-23 12:19:48  <?=datetime('2018-05-23 12:19:48');?>
➧ Heute um 12:19 Uhr

2018-05-23 12:19:48  <?=datetime('2018-05-23 12:19:48', true, true);?>
➧ Heute um 12:19 Uhr (vor 12 Minuten)


2018-05-22 12:31:48  <?=datetime('2018-05-22 12:31:48');?>
➧ Gestern um 12:31 Uhr

2018-05-21 12:31:48  <?=datetime('2018-05-21 12:31:48');?>
➧ Vorgestern um 12:31 Uhr

2018-05-21 12:31:48  <?=datetime('2018-05-21 12:31:48', false, true);?>
➧ Vorgestern um 12:31 Uhr (vor 2 Tagen)


2018-07-02 12:31:48  <?=datetime('2018-07-02 12:31:48');?>
➧ am 2.7.2018

2018-07-02 12:31:48  <?=datetime('2018-07-02 12:31:48', true);?>
➧ am Montag, den 2 Juli 2018

2018-07-02 12:31:48  <?=datetime('2018-07-02 12:31:48', true, true);?>
➧ am Montag, den 2 Juli 2018 (noch 1 Monat)

2018-05-24 12:31:48  <?=datetime('2018-05-24 12:31:48', true, true);?>
➧ Morgen um 12:31 Uhr (noch 1 Tag)

2018-05-25 12:31:48  <?=datetime('2018-05-25 12:31:48', true, true);?>
➧ Übermorgen um 12:31 Uhr (noch 2 Tagen)

2018-05-28 12:31:48  <?=datetime('2018-05-28 12:31:48', true, true);?>
➧ am Montag, den 28 Mai 2018 (noch 5 Tagen)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<?php
// Datum und Uhrzeit formatiert ausgeben

// $datetime = YYYY-MM-DD HH:II:SS
function datetime($datetime,
                           
$wochentagMonat false,
                           
$niceDate false) {
 
sscanf($datetime"%4s-%2s-%2s %2s:%2s:%2s"$jahr$monat$tag$stunde$minute$sekunde);
 if (
$niceDate) {
  
$niceDate ' (' niceDate($tag$monat$jahr$stunde$minute$sekunde) . ')';
 }
 else {
  
$niceDate '';
 }
 
$datum mktime(000date($monat), date($tag), date($jahr));
 
// Heute
 
if ($datum == mktime(000date("m"), date("d"), date("Y"))) {
  return 
'Heute um ' $stunde ':' $minute ' Uhr' $niceDate;
 }
 
// Gestern
 
else if ($datum == mktime(000date("m"), date("d") - 1date("Y"))) {
  return 
'Gestern um ' $stunde ':' $minute ' Uhr' $niceDate;
 }
 
// Vorgestern
 
else if ($datum == mktime(000date("m"), date("d") - 2date("Y"))) {
  return 
'Vorgestern um ' $stunde ':' $minute ' Uhr' $niceDate;
 }
 
// Morgen
 
else if ($datum == mktime(000date("m"), date("d") + 1date("Y"))) {
  return 
'Morgen um ' $stunde ':' $minute ' Uhr' $niceDate;
 }
 
// Übermorgen
 
else if ($datum == mktime(000date("m"), date("d") + 2date("Y"))) {
  return 
'Übermorgen um ' $stunde ':' $minute ' Uhr' $niceDate;
 }
 else {
  if (
$wochentagMonat == false) {
   return 
'am ' floor($tag) . '.' floor($monat) . '.' $jahr $niceDate;
  }
  else {
   return 
'am ' wochentag($tag$monat$jahr) . ', den ' floor($tag) . ' ' monat($monat) . ' ' $jahr $niceDate;
  }
 }
}

function 
niceDate($tag$monat$jahr$stunde$minute$sekunde) {
 
$timestamp mktime($stunde$minute$sekunde$monat$tag$jahr);
 
$difference time() - $timestamp;
 
$periods = ["Sekunde",
                     
"Minute",
                     
"Stunde",
                     
"Tage",
                     
"Woche",
                     
"Monate",
                     
"Jahre",
                     
"Jahrzehnte"
            ];
 
$lengths = ["60""60""24""7""4.35""12""10"];
 
 if (
$difference > 0) {
  
// Vergangenheit
  
$ending "vor";
 }
 else {
  
// Zukunft
  
$difference = -$difference;
  
$ending "noch";
 }

 for (
$j 0$difference >$lengths[$j]; $j++) {
  
$difference /= $lengths[$j];
  
$difference round($difference);
 }

 if (
$difference != 1) {
  
$periods[$j] .= "n";
 }
 else {
  if (
$periods[$j] == "Woche" ||
      
$periods[$j] == "Stunde" ||
      
$periods[$j] == "Minute" ||
      
$periods[$j] == "Sekunde") {
    
$periods[$j] = $periods[$j];
  }
  else {
   
$periods[$j] = substr($periods[$j], 0, -1);
  }
 }
 return 
$ending ' ' $difference ' ' $periods[$j];
}


// Wochentag ermitteln
function wochentag($tag$monat$jahr) {
 
$tage = array("Sonntag""Montag""Dienstag""Mittwoch""Donnerstag""Freitag""Samstag");
 
$wt getdate(mktime(000$monat$tag$jahr));
 return 
$tage[$wt["wday"]];
}

// Monat ermitteln
function monat($monat) {
 
$monate = array(=> "Januar""Februar""März""April""Mai""Juni""Juli""August""September""Oktober""November""Dezember");
 return 
$monate[floor($monat)];
}
?>

Bausteine

Eine zufällige Auswahl von „Bausteinen” aus den Bereichen CSS, PHP, JavaScript und MySQL.

CSS - Tooltip per CSS anzeigen

PHP - Alphabet mit PHP ausgeben

JavaScript - Langsam zum Seitenanfang scrollen

MySQL - Datensatz Wert um 5% erhöhen