✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

Finden Sie den Unterschied in den Daten mit PHP (und WordPress)

32

Die Arbeit mit Datumsangaben in PHP ist eines der Dinge, die Sie entweder gut im Griff haben, Sie arbeiten daran, sie zu verstehen, oder Sie stecken im Kaninchenbau der Dokumentation im Handbuch fest.

Wenn Sie jedoch mit WordPress arbeiten, ist die Wahrscheinlichkeit, dass Sie mit Datumsangaben arbeiten müssen, ziemlich hoch. Fast alles, was wir veröffentlichen, ist mit mindestens einem Datum verknüpft.

Dazu gehören Beiträge, Seiten, benutzerdefinierte Beitragstypen, Überarbeitungen, Entwürfe usw.

Darüber hinaus besteht die Möglichkeit, dass benutzerdefinierte Arbeiten, mit denen Sie entwickeln müssen, erfordern, dass Sie den Unterschied in zwei Daten mithilfe von PHP finden. Und obwohl es mehrere Möglichkeiten gibt, dies zu tun, gibt es einen Prozess, dem ich für etwas gefolgt bin.

Der Unterschied in den Daten mit PHP

Bevor ich durch mein Beispiel gehe, hilft es, ein wenig Kontext zu geben. Schließlich wird das, woran auch immer Sie arbeiten, wahrscheinlich etwas anders sein als das, was ich tue.

Finden Sie den Unterschied in den Daten mit PHP (und WordPress)

Die allgemeine Idee könnte immer noch die gleiche sein, sodass das Wesentliche Ihrer Arbeit immer noch aus dem folgenden Code extrapoliert werden kann. Aber lassen Sie mich ein konkretes Beispiel aus meiner eigenen Arbeit geben:

  1. Ich habe einen benutzerdefinierten Post-Typ, der ein Ereignis und das Ereignis als Post-Datum darstellt.
  2. Ich muss wissen, wann die Veranstaltung beginnt. Dazu definiere ich das Datumsformat mit dem von PHP unterstützten n/j/Y-Format und konvertiere dieses dann mit der Datumsfunktion von PHP in ein Datum.
  3. Als Nächstes nehme ich das heutige Datum (als eine einfache Möglichkeit, den Unterschied zwischen Datumsangaben mit PHP für dieses Beispiel zu bestimmen) und konvertiere es mit derselben Funktion und demselben n/j/Y-Format in ein Datum.
  4. Danach instanziiere ich zwei DateTime- Objekte und berechne die Differenz.

Wenn das nicht einfach ist, empfehle ich, auf die obigen Links zu klicken. Ansonsten hier der Code.

<?php

/**
 * Determines the number of years that exist between the specified
 * event custom post type and today's date.
 *
 * @access private
 * @param  WP_Post $event A custom post type representing an event.
 * @return string  $years The difference in years.
 */
private function get_difference_in_dates( $event) {

  // If the post_date is empty, why are we here?
  if (empty( $event['post_date']) {
    return;
  }

  // Get the date for the start of the event and te 
  $start = date( 'n/j/Y', strtotime( $event['post_date']) );
  $today = date( 'n/j/Y' );

  // Get the date for the start of the event and today's date.
  $start      = new DateTime( $start );
  $end        = new DateTime( $today );

  // Now find the difference in years.
  $difference = $start->diff( $end );
  $years      = $difference->y;

  // If the difference is less than one, we'll return a string of "< 1".
  $years = (1 > $years )? '< 1': (string)$years;

  return $years;
}

Beachten Sie im obigen Code, dass ich nur daran interessiert bin, die Differenz in Jahren abzurufen. Sie können sich für etwas anderes entscheiden. Wenn dies der Fall ist, erleichtert die von PHP angebotene API dies, indem sie die Eigenschaften des DateTime-Objekts untersucht.

Aber bei zwei Daten ist dies ein einfacher Weg, um den Unterschied zwischen den Daten mit PHP im Kontext von WordPress zu finden.

Aufnahmequelle: tommcfarlin.com

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen