FAZIT DATUM DER MYSQL in PHP

Wie bekannt ist , in MySQL gibt es zwei Haupttypen von Daten zu speichern , die Daten: Datum und ein Datetime . Die zweite Ausführungsform, in der Tat ist eine verbesserte Version der ersten, und die Zeit und das Datum der Addition speichern kann. Beim Entfernen aus der MySQL - Datenbank des Typs wir Leitungen , die jeweils in den folgenden Formaten erhalten:

2012-03-03 
2012-03-03 00.00.00

Doch in den meisten PHP Datumsfunktionen verwendeten Unix-Zeitstempel Format des Datums so genannten, eine Nummer - die Anzahl der Sekunden zwischen „Unix-Epoche“ (Mitternacht, die erstmals im Januar 1970) und die aktuellen Uhrzeit.

Sie können die Analyse von den oben genannten Linien des Jahr, Monat usw. erhalten verwenden und sie auf die PHP-Funktion von den mktime , aber ich schlage vor Option einfacher. Es gibt eine MySQL-Funktion UNIX_TIMESTAMP , mit dem Sie ein Datum aus MySQL - Format auf Unix - Zeitstempel - Format auf die Bühne des Antrags zu konvertieren. Es wird wie folgt verwendet:

SELECT AS created_mysql erstellt, 
UNIX_TIMESTAMP (erstellt) AS created_unix
FROM Artikel;

erstellt Feld ist vom Typ Datetime. Nach der Ausführung einer solchen Anfrage erhalten wir die Werte des Feldes in zwei Formaten erstellt - in MySQL-Format (created_mysql) und Unix-Zeitstempel (created_unix) Format. Das zweite Ausführungsbeispiel kann direkt direkt in den PHP-date-Funktionen verwendet wird, zum Beispiel:

echo date ( 'dmY', $ row [ 'created_unix']);

oder sogar als eine Funktion der Bildung von Russisch Datum:

Echo rusdate ($ row [ 'created_unix'], '% DAYWEEK% j% MONTH% Y, G: i');

PHP ein Datum von Format MYSQL zur normalen Ansicht zu konvertieren ...

Ich habe ein Datumsfeld in PHP, die diesen Code verwendet:

Wie konvertiere ich es MySql 0000-00-00 Format für die Aufnahme in den db. Ob es in den Zeilen :. Datum ist ( ‚Ymd‘ strtotime ($ date) Der Grund, dass ich frage ist, dass ich Variationen dieses versucht habe, und ich kann es auch nicht angezeigt, wie 1970 oder kakoy- an der Arbeit. eine andere Version davon. vielen Dank

Lesen Sie mehr:   1C Connection Server geschlossen

40

php mysql

bollo setzen 22. Juli '11 um 16:45 Uhr

Quelle Anteil

1. Wenn Ihre MySQL Spalte DATETyp:

$date = date('Y-m-d', strtotime(str_replace('-', '/', $date)));

2. Wenn die Spalte MySQL - DATETIMETyp:

$date = date('Y-m-d H:i:s', strtotime(str_replace('-', '/', $date)));

Sie müssen nicht arbeiten müssen strototime(), weil es nicht mit einem Komma Strich funktioniert -, wird er versuchen , Subtraktion zu tun.

Aktualisieren Sie als Datum formatiert ist, können Sie nicht verwenden strtotime(), stattdessen verwenden Sie diesen Code:

$date = preg_replace('#(\\d{2})/(\\d{2})/(\\d{4})\\s(.*)#', '$3-$2-$1 $4', $date);
echo $date;

Schlussfolgerung:

120

Beantwortet Shef 22. Juli '11 um 16:54 Uhr

Quelle Anteil

An dieser Stelle gibt es zwei ziemlich einfache Lösung - einfach den Code prüfe ich in der Beschreibung des Gehäuses vorgesehen ist, wenn Sie wollen - Sie werden ein paar Klicks speichern.

http://www.richardlord.net/blog/dates-in-php-and-mysql

1. Eine übliche Lösung ist, in dem Datumsfelder DATETIME- und Nutzung Funktionen date () und strtotime () PHP zum Umwandeln zwischen Zeit um PHP und MySQL DATETIME- zu bewahren. Eingesetzte Methoden sind wie folgt:

$mysqldate = date( 'Y-m-d H:i:s', $phpdate );
$phpdate = strtotime( $mysqldate );

2. Unsere zweite Option - lassen MySQL die Arbeit erledigen. In MySQL gibt es Funktionen, die wir zur Transformation von Daten in einer Zeit verwenden können, wenn wir auf die Datenbank beziehen. UNIX_TIMESTAMP wird von DATETIME- Zeitstempel in PHP konvertieren und FROM_UNIXTIME werden aus der temporären Etiketten in PHP DATETIME- konvertieren. Methoden in der SQL-Abfrage verwendet. Deshalb haben wir das Datum mit Hilfe solcher Anfragen wie diese einfügen und aktualisieren -

$query = "UPDATE table SET
datetimefield = FROM_UNIXTIME($phpdate)
WHERE...";
$query = "SELECT UNIX_TIMESTAMP(datetimefield)
FROM table WHERE...";

13

John Humphreys beantwortet - w00te 22. Juli '11 um 16:50 Uhr

Quelle Anteil

Lesen Sie mehr:   CREATE eine neue Website für TIMEWEB

Suchen Sie MySQL - Funktionen FROM_UNIXTIME()und UNIX_TIMESTAMP().

Verwenden Sie sie in Ihrem SQL, wie zum Beispiel:

mysql> SELECT UNIX_TIMESTAMP(NOW());
+-----------------------+
| UNIX_TIMESTAMP(NOW()) |
+-----------------------+
| 1311343579 |
+-----------------------+
1 row in set (0.00 sec)

mysql> SELECT FROM_UNIXTIME(1311343579);
+---------------------------+
| FROM_UNIXTIME(1311343579) |
+---------------------------+
| 2011-07-22 15:06:19 |
+---------------------------+
1 row in set (0.00 sec)

4

Beantwortet Gus 22. Juli '11 um 16:49 Uhr

Quelle Anteil

4

Beantwortet Bailey Parker 22. Juli '11 um 16:52 Uhr

Quelle Anteil

Wenn Sie ein Datum in tt / mm / jjjj Format haben, verwenden Sie den folgenden Befehl ein:

$date = explode('/', $_POST['posted_date']);
$new_date = $date[2].'-'.$date[1].'-'.$date[0];

Wenn Sie es in mm / tt / haben, ändern Sie einfach die zweite Zeile:

$new_date = $date[2].'-'.$date[0].'-'.$date[1];

3

Beantwortet Warren Sergent 8. Februar. '12 um 11:36

Quelle Anteil

Wenn Sie das Datumsformat in dem $ _POST [incoming_date] kennen, können Sie für das Jahr, den Monat und Zeit verwenden explodieren, und dann das aktuelle Datum mySql kombinieren zu bilden. Zum Beispiel, wenn Sie so etwas wie 1988.12.15 in den Tag zu kommen, können Sie es wie folgt tun

    $date = explode($_POST['intake_date'], '/');
mysql_date = $date[2].'-'$date[1].'-'$date[0];

obwohl, wenn Sie ein gültiges Datum haben, ist das Datum ( 'ym-d', strtotime ($ date)); Sie sollten auch arbeiten

1

Beantwortet Ehtesham 22. Juli '11 um 16:58 Uhr

Quelle Anteil

PHP 5.3 hat eine Funktion zu erstellen und das Datetime-Objekt von einem beliebigen Format zu formatieren, die Sie angeben:

$mysql_date = "2012-01-02";   // date in Y-m-d format as MySQL stores it
$date_obj = date_create_from_format('Y-m-d',$mysql_date);
$date = date_format($date_obj, 'm/d/Y');
echo $date;

Ausgänge:

01/02/2012

MySQL kann auch die Formatierung steuert die Funktion STR_TO_DATE()beim Einfügen / Aktualisieren und DATE_FORMAT()bei der Anforderung.

$php_date = "01/02/2012";
$update_query = "UPDATE appointments SET start_time = STR_TO_DATE('" . $php_date . "', '%m/%d/%Y')";
$query = "SELECT DATE_FORMAT(start_time,'%m/%d/%Y') AS start_time FROM appointments";

1

Beantwortet Charlie 25. Oktober. '14 bei 00.19

Quelle Anteil

Lesen Sie mehr:   DRIVER ASSEMBLY FÜR WINDOWS 10

function my_date_parse($date)
{
if (!preg_match('/^(\\d+)\\.(\\d+)\\.(\\d+)$/', $date, $m))
return false;

$day = $m[1];
$month = $m[2];
$year = $m[3];

if (!checkdate($month, $day, $year))
return false;

return "$year-$month-$day";
}

1

Beantwortet TMS 22. Juli '11 um 16:51 Uhr

Quelle Anteil

in anderen Sprachen lesen

 BelorussianEnglisch Deutsch Spanisch Französisch Italienisch Portugiesisch Türkisch Arabisch Ukrainisch Schwedisch Ungarisch Bulgarisch Estnisch Chinesisch (vereinfacht) Vietnamesisch Rumänisch thailändisch Slowenisch Slowakisch serbisch malaiisch Norwegisch Lettisch Litauisch Koreanisch Japanisch Indonesier Hindi Hebräisch Finnisch Griechisch Holländisch Tschechisch Dänisch kroatisch Chinesisch (traditionell) Philippine Urdu Azeybardzhansky Armenischpolnisch Bengali georgisch Kasachisch Katalanisch Mongolski Russisch Tadzhitsky Tamil'skij telugu Uzbetsky

Kommentar hinzufügen

Ihre E-Mail wird nicht veröffentlicht. Erforderliche Felder sind markiert *