Heim  >  Artikel  >  Backend-Entwicklung  >  Was soll ich tun, wenn die in PHP-Aufrufen angezeigte Datenzeit verstümmelt ist?

Was soll ich tun, wenn die in PHP-Aufrufen angezeigte Datenzeit verstümmelt ist?

PHPz
PHPzOriginal
2023-04-11 09:11:28764Durchsuche

Mit der rasanten Entwicklung des Internets und der Computertechnologie sind in den letzten Jahren auch verschiedene Website-Entwicklungssprachen entstanden, und PHP (Hypertext Preprocessor) hat sich zu einer im Bereich der Webentwicklung weit verbreiteten Programmiersprache entwickelt eine Favorit unter Entwicklern. Bei der Verwendung von PHP zur Entwicklung einer Website werden jedoch zwangsläufig einige Probleme auftreten. Dieser Artikel konzentriert sich auf das Problem der verstümmelten Zeitanzeige, das beim Aufrufen von Daten in PHP auftreten kann, und stellt entsprechende Lösungen bereit.

PHP ist eine serverseitige Sprache, die häufig zum Verarbeiten von Daten und interaktiven Vorgängen verwendet wird. Daher ist es in vielen Projekten erforderlich, Zeit zu verarbeiten, z. B. um die aktuelle Zeit abzurufen, Zeitstempel in Zeit umzuwandeln usw. In PHP wird normalerweise die Funktion date() verwendet, um die aktuelle Uhrzeit abzurufen. Beim Aufrufen von Zeitdaten werden Sie jedoch manchmal feststellen, dass die Zeitanzeige verstümmelt ist. Dies liegt daran, dass die Zeitkodierungsmethoden von PHP und MySQL inkonsistent sind.

Um dieses Problem zu lösen, müssen Sie zunächst das Grundkonzept der Zeitkodierung verstehen. Zu den Zeitdatentypen in MySQL gehören DATE, TIME, DATETIME und TIMESTAMP. Darunter stellt der Typ DATE das Datum im Format „JJJJ-MM-TT“ dar; der Typ TIME stellt die Uhrzeit im Format „HH:MM:SS“ dar; der Typ DATETIME stellt die Uhrzeit und das Datum im Format dar Der TIMESTAMP-Typ „JJJJ-MM-TT HH:MM: SS“ stellt ebenfalls Datum und Uhrzeit dar, sein Format ist jedoch das UNIX-Zeitstempelformat, d als „1526713521“. In PHP lauten die häufig verwendeten Funktionen wie folgt:

  • time(): den aktuellen Zeitstempel abrufen;
  • date(): den Zeitstempel in ein Datum formatieren;
  • strtotime(): das Datum in einen Zeitstempel umwandeln.

Wenn die Zeitkodierungsmethoden von MySQL und PHP inkonsistent sind, kann es zu einer verstümmelten Zeitanzeige kommen. Daher ist es notwendig, entsprechend den tatsächlichen Anforderungen eine entsprechende Zeitkodierungskonvertierung durchzuführen.

Die konkrete Lösung lautet wie folgt:

  1. Setzen Sie in MySQL das Speicherformat des Zeitfelds auf „JJJJ-MM-TT HH:MM:SS“. Auf diese Weise muss bei der Abfrage die aus der Datenbank entnommene Zeitzeichenfolge nicht formatiert werden, da ihr Format bereits den Zeitanforderungen von PHP entspricht.
  2. Verwenden Sie in PHP die Funktion strtotime(), um die Zeitzeichenfolge in einen Zeitstempel umzuwandeln, und verwenden Sie dann die Funktion date(), um den Zeitstempel in das erforderliche Zeitformat zu formatieren. Um beispielsweise den DATETIME-Typ in MySQL in das Zeitformat in PHP zu konvertieren, können Sie den folgenden Code verwenden:

$datetime = '2018-05-19 12:30:45';
$timestamp = strtotime($ datetime);
$time = date('Y Jahr m Monat d Tag H:i:s', $timestamp);

Unter diesen ist $datetime die Zeitzeichenfolge in MySQL, $timestamp ist der Zeitstempel und $time ist nach der Formatierungszeit.

  1. Wenn Sie das Zeitfeld direkt aus MySQL lesen und ausgeben, können Sie beim Lesen der Daten auch eine Zeichensatzkonvertierung durchführen. Beim Abfragen von MySQL-Daten können Sie die setcharset-Anweisung verwenden, um den Zeichensatz festzulegen, zum Beispiel:

$db = new mysqli($host, $user, $password, $database);
$stmt = $db-> ;prepare( "SELECT CONVERT(content USING utf8) as content, time FROM news;");
$stmt->execute();

In dieser Anweisung wird die CONVERT-Funktion verwendet, um das Inhaltsfeld vom Standardwert zu konvertieren Kodierung in der Datenbank auf UTF-8-Kodierung umgestellt.

Kurz gesagt, das Problem verstümmelter Zeichen beim Aufrufen von Zeitdaten in PHP liegt im Wesentlichen daran, dass die Zeitkodierungsmethoden von PHP und MySQL inkonsistent sind, sodass das Datenformat konvertiert und transkodiert werden muss. Mit der oben genannten Methode kann dieses Problem effektiv gelöst und sichergestellt werden, dass die Zeitanzeige normal ist.

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn die in PHP-Aufrufen angezeigte Datenzeit verstümmelt ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn