Dans ce cours d'instruction, nous regardons des questions généralement posées concernant la fonction de date dans PHP.
|
|
Pour lire la date ou l'heure du serveur, vous devez employer la fonction de date de PHP. Vous passez à la fonction de date une corde, avec la marque spéciale au lieu des paramètres de date où vous exigez. Quand le code est couru, la marque sera remplacée avec la section de date ou d'heure qu'ils représentent. Par exemple :
< écho date("d/m/Y de ?php") ; ? > sorties
11/02/2003 < date("dS F,");?> d'écho de ?php de Y sorties le 11
février, 2003 < écho date("g:i de ?php") ; ? > sorties
9:10 écho date("H:i:s de P.M. < de ?php") ; ? > sorties
21:10:48 < date("l d'écho de ?php, dS F, Y") ; ? >
sorties lundi, le 21 janvier, 2003
Notez que vous pouvez mettre vos propres caractères dans la corde que vous passez jusqu'ici, qui peut agir en tant que séparateurs pour les données, comme : ou/. employant la marque, vous accumulez une date ou une heure dans n'importe quel format que vous choisissez. C'est lecture valable le page-manuel pour la fonction de date au manuel de PHP en ligne à http://www.php.net/manual/en/function.date.php.
Une autre question commune est comment travailler avec des dates et MySQL, car MySQL emploie son propre format de date : yyyy-millimètre-densité double. Ceci signifie que si vous voulez montrer la date, vous devez changer le format en plus normal, tel que le format de date des ETATS-UNIS : mm/dd/yyyy.
La manière la plus facile de convertir la date est d'employer le PHP éclatent la fonction. La fonction d'éclater prend une corde et la dédouble par un séparateur commun en rangée. C'est très utile pour transformer des dates, car les dates ont un séparateur commun et ainsi sont faciles à couper en pièces séparées, qui peuvent alors être réarrangées dans votre format désiré.
Notez que vous pouvez également composer la date dans votre question de SQL en utilisant la commande de MySQL DATE_FORMAT, bien que ceci rende vos questions de SQL plus longues. Les détails complets sont disponibles à la page suivante du manuel en ligne de MySQL : http://www.mysql.com/doc/en/Date_and_time_functions.html.
Pour convertir une date de format des ETATS-UNIS en format de MySQL, vous pouvez employer la fonction suivante :
< fonction date2mysql($date){de ?php $splitArray =
explode("/", $date) ; $newDate = # ].
"-". # ]. "-". #
] ; retour # ; } ?
>
Cette fonction prend une date dans le format des ETATS-UNIS et cela convertit en format de MySQL. Pour appeler cette fonction, vous passage juste il la date dans le format des ETATS-UNIS, comme suit :
< écho date2mysql("02/20/2003 de ?php") ; ? >
Ceci produira ce qui suit :
2003-02-20
Ceci peut alors être entré dans un champ de date de MySQL. Notez cela pour couvrir d'autres formats de date, vous peut juste réarranger les pièces de date dans un ordre différent.
Pour convertir une date de format de MySQL en format de date des ETATS-UNIS, vous pouvez employer la fonction suivante :
< fonction mysql2date($date){de ?php $splitArray =
explode("-", $date) ; $newDate = # ].
"/". # ]. "/". #
] ; retour # ; } ?
>
Pour employer cette fonction, vous l'appelez en passant la date dans le format de MySQL comme suit :
< écho mysql2date("2003-02-20 de ?php") ; ? >
Ceci produira ce qui suit :
02/20/2003
Pour employer la fonction avec une valeur d'un recordset, employez simplement le champ du recordset comme paramètre pour la fonction, par exemple :
< écho mysql2date($row_Recordset1['date de ?php ']) ; ? >
Ceci convertirait un champ de base de données appelé date dans le recordset appelé Recordset1 de format de MySQL en format de date des ETATS-UNIS.
Afin de trouver la durée entre deux dates, vous devez convertir les deux dates en format commun, et alors vous pouvez prendre une date partie de l'autre. Le format commun que vous employez est le nombre de secondes depuis la date d'époque de Linux, qui est 1/1/1970converti de To par date au format commun, vous emploient la fonction de mktime de PHP, qui prend les paramètres suivants et renvoie le nombre de secondes depuis 1/1/1970 :
mktime(hour, minute, en second lieu, mois, jour, année) ;
Vous employez la fonction de mktime pour convertir la date de début et la date d'extrémité en en second lieu, prenez la date de début loin de la date d'extrémité, et puis vous divisez par le nombre de secondes en jour. Vous pouvez faire ceci avec le code suivant :
< ?php $startDate = "02/20/2003" ; $endDate =
"02/28/2003" ; $splitStart = explode("/", $startDate) ;
"de $splitEnd = d'explode(/", #) ;
$start =
mktime(0,0,0,$splitStart[0],$splitStart[1],$splitStart[2 ]) ;
$end = mktime(0,0,0,$splitEnd[0],$splitEnd[1 ], #
]) ; $secondsInDay = 60 * 60 * 24 ;
$days = abs($end-$start)/$secondsInDay ; écho #
; ? >
Quand le code précédent est couru, il montrera 8, qui est le nombre de jours entre $startDate et #.
Pour trouver des dates dans le passé ou futur, vous pouvez employer une combinaison des fonctions de mktime et de date, qui vous permet facilement d'ajouter ou soustraire des jours, des mois, ou des années de to/from la date du jour, comme suit :
< ?php $tomorrow = mktime (0,0,0,date("m"), date("d")+1,
date("Y")) ; $lastmonth = mktime (0,0,0,date("m")-1,date("d"),
date("Y")) ; $nextyear = mktime (0,0,0,date("m"), date("d"),
date("Y")+1) ; écho date("m/d/Y", #).
"< Br >" ; écho date("m/d/Y", #).
"< Br >" ; écho date("m/d/Y", #).
"< Br >" ; ? >
N'importe quelle date peut être trouvée simplement en ajoutant ou en soustrayant la période désirée to/from un des pièces de date, comme montré dans le code précédent d'exemple.
Online: 536 users browsing the articles directory
|
|