Fonction PHP pour obtenir des informations sur la période

Avant d'apprendre formellement les fonctions de date, vous devez comprendre quelques concepts :

1. Fuseau horaire

2. Heure universelle

3. Le concept d'horodatage Unix

fuseau horaire

a déjà été beaucoup entendu. Disons quelques mots. Les domaines réels que nous utilisons dans la vraie vie sont également réglementés dans les ordinateurs.
Lorsque la Conférence internationale sur la longitude s'est tenue à Washington en 1884, afin de surmonter la confusion temporelle, le monde a été divisé en 24 fuseaux horaires.
En Chine, l'heure du district de Dongba, où se trouve la capitale Pékin, est adoptée comme heure nationale unifiée.

Temps universel

Non seulement les astronomes utilisent le temps moyen de Greenwich (abréviation anglaise : GMT), mais ce terme apparaît également fréquemment dans les journaux et journaux. Nous savons qu'il y a des heures locales partout. Si nous utilisons l’heure locale pour enregistrer un événement international majeur, cela sera compliqué et peu pratique. Et il sera facile de commettre des erreurs avec le temps. Par conséquent, les astronomes ont proposé une méthode d’enregistrement acceptable et pratique pour tout le monde, qui consiste à utiliser l’heure locale de Greenwich (une région du Royaume-Uni) comme norme.

horodatage Unix

L'ordinateur lui-même ne connaît pas l'heure, nous définissons donc une heure dans l'ordinateur pour faciliter les calculs. Nous avons donc spécifié une méthode de calcul, l'horodatage Unix.
Le nombre de secondes écoulées depuis le début de l'époque Unix (0h00 le 1er janvier 1970).

Nous avons appris quelques concepts, nous pouvons maintenant commencer à apprendre la fonction temps.

1. Définir le fuseau horaire

Si nous sommes un programme multinational multilingue, nous écrivons généralement un fuseau horaire dans le fichier de configuration, à chaque fois que le programme est en cours d'exécution. . Les paramètres du fuseau horaire seront lus pour afficher l’heure.

La fonction pour définir le fuseau horaire est :
1).date_default_timezone_get()
2).date_default_timezone_set()

Nous ne nous concentrerons pas sur la première fonction, elle est relativement simple.

L'utilisation est la suivante :

string date_default_timezone_get (void)

La fonction est la suivante :
Obtenir la valeur par défaut utilisée par toutes les dates et l'heure fonctionnent dans un script Fuseau horaire

Exemple :

<?php
echo date_default_timezone_get ();
?>

Ceci affichera l'heure actuellement réglée.

La deuxième fonction est le point clé :

L'utilisation est la suivante :

bool date_default_timezone_set ( string $timezone_identifier )

Les fonctions sont les suivantes :
Fuseau horaire par défaut utilisé pour toutes les fonctions de date et d'heure

Exemple :

<?php

//定义一下时区常量,以后你可以放到配置文件里
define('TIME_ZONE','Asia/shanghai');

//执行函数
date_default_timezone_set(TIME_ZONE);

echo date('Y-m-d H:i:s');

?>

Essayez de comparer le code de l'exemple ci-dessus, puis commentez date_default_timezone_set et voyez ce qui sera demandé.

Remarque :
Pour la liste des fuseaux horaires, veuillez consulter le manuel officiel http://php.net/manual/zh/timezones.php

2.time( ) pour obtenir l'horodatage Unix actuel

La fonction de la fonction time() est d'obtenir l'horodatage Unix de l'heure actuelle.

Le code suivant génère l'horodatage Unix de l'heure actuelle.

<?php
   $time=time();
   print_r( $time);
?>

Résultat de l'exécution du programme :
1421597858

3. "Flax drop" est la clé pour apprendre le traitement du temps en PHP

Y en anglais est l'année, ce qui signifie année - —Ya

m anglais représente le mois, qui représente le mois - Ma

d anglais représente le jour, qui représente la date - tombant

nous devons donc afficher le année précédente, mois, date. Par exemple : 1er juillet 1997, on peut utiliser les trois paramètres ci-dessus.

<?php

echo date('Y年m月d日');
?>

Vous pouvez essayer d'exécuter le code pour voir s'il s'affiche. Il y a plusieurs paramètres après

:

H:m:s représente : heures, minutes et secondes

h en anglais est : hour représente les heures

L'anglais de i est : minute

l'anglais de s est : seconde représente la seconde

écrit en toutes lettres est :

<?php

//就可以显示出来当前的时间了哟。
echo date('Y-m-d H:i:s');
?>

La fonction date est utilisée pour formater une heure Sortie vers faciliter l'affichage ou le stockage de l'heure. Le format de syntaxe est le suivant :
string date ( string $forrnat [, int $tirnestamp] )
Dans la liste des paramètres :

$timestamp est un horodatage, et la fonction enfonce cet horodatage dans $format Sortie au format spécifié.

Si $timestamp n'a pas de valeur d'entrée, la valeur par défaut est l'heure actuelle.

$format est une chaîne de format de sortie temporelle, et les caractères spécifiés doivent être utilisés pour construire le format de sortie.

Tableau des paramètres de format de la fonction date :

字符说明返回值
d月份中的第几天,有前导零的2 位数字01 到31
D英文星期几,3个字母Mon到Sun
j月份中的第几天,没有前导零1 到31
l(字母)英文星期几Sunday到 Saturday
N1格式数字表示的星期1(表示星期一)到7(表示星期天)
S每月天数后面的英文后缀,2个字符st,nd,rd或者th。可以和jg一起用
w星期中的第几天,数字表示0(表示星期天)到 6(表示星期六)
z一年中的第几天0到366
W年份中的第几周,每周从星期一开始42(当年的第42周)
F月份,完整的文本格式January 到 December
m数字表示月份,有前导零01 到 12
M3个字母缩写表示的月份Jan 到Dec
n数字表示月份,没有前导零1 到 12
t给定月份所应有的天数28 到 31
L是否为闰年如果是闰年为1,否则为o
o格式年份数字例如2007
Y4 位数字完整表示年份例如1999或2008
y2 位数字表示的年份例如99或08
a小写的上午和下午值am或pm
A大写的上午和下午值AM或PM
g小时,12小时格式,没有前导零1到12
G小时,24小时格式,没有前导零0 到 23
i有前导零的分钟数00 到 59
s秒数,有前导零00到59
e时区标识
U从Unix纪元开始至今的秒数长整型数字


3. getdate obtient l'heure actuelle du système

getdate est utilisé pour obtenir l'heure actuelle du système ou pour obtenir la signification spécifique d'un horodatage. L'horodatage est un entier long et le format syntaxique de getdate est le suivant.

array getdate ([ int $timestamp = time() ] ) La valeur de retour de la fonction

est un tableau contenant des informations temporelles obtenues en fonction de l'horodatage. S'il n'y a aucun paramètre, l'heure actuelle sera renvoyée. Le tableau renvoyé par getdate, le nom de la clé inclut des informations complètes sur l'heure et la date.

键名说明返回值
secnods数字0到 59
minutes分钟数字0到59
hours小时数字 0到 23
mday月份中第几天数字 1到 31
wday星期中第几天数字0(表示星期天)到6(表示星期六)
mon月份数字 1 到 12
year4 位数字表示的完整年份
yday一年中第几天数字0到365
weekday星期几的英文Sunday到 Saturday
month月份的英文January 到 December
0自从Unix纪元开始的秒数长整型数字


Le code suivant peut renvoyer les détails du tableau getdate.

<?php
   $mytime=getdate(); 
   print_r( $mytime);
?>

print_r peut afficher tous les noms et valeurs de clés​​dans un tableau. En exécutant ce code, le résultat est celui indiqué ci-dessous. Le programme affiche les détails de l'heure et de la date de l'ordinateur actuel :

Array
(
    [seconds] => 1            //秒
    [minutes] => 10            //分钟
    [hours] => 17            //小时
    [mday] => 18            //日
    [wday] => 0            //星期中的第几天
    [mon] => 1            //月
    [year] => 2015            //年
    [yday] => 17            //年中的第几天
    [weekday] => Sunday        //星期
    [month] => January        //月份
    [0] => 1421597401        //时间戳
)

Après avoir compris la fonction getdate et le tableau renvoyé, il est facile d'obtenir les informations sur l'heure actuelle. Le code suivant utilise la fonction getdate pour obtenir des informations temporelles et appelle la valeur du tableau time renvoyé pour afficher les informations temporelles.

<?php 
$mytime = getdate();
echo "年 :".$mytime['year']."\n";
echo "月 :".$mytime['mon']."\n";
echo "日 :".$mytime['mday']."\n";
echo "时 :".$mytime['hours']."\n";
echo "分 :".$mytime['minutes']."\n";
echo "秒 :".$mytime['seconds']."\n";
echo "一个小时中的第几钟 :".$mytime['minutes']."\n";
echo "这是一分钟的第几秒 :".$mytime['seconds']."\n";
echo "星期名称 :".$mytime['weekday']."\n";
echo "月份名称 :".$mytime['month']."\n";
echo "时间戳   :".$mytime[0]."\n";
?>

Exécutez ce programme et les informations détaillées de l'heure actuelle seront affichées. Les résultats de l'exécution du programme sont les suivants.

Année : 2015
Mois : 1
Jour : 18
Heure : 17
Minute : 14
Seconde : 11
Le premier jour du Jour de la semaine : 14
Jour de l'année : 11
Nom de la semaine : dimanche
Nom du mois : janvier
Horodatage : 1421597651

Formation continue
||
<?php $timestamp = strtotime($time); $date = date("y-m-d",$timestamp); echo $date; ?>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel