Maison >développement back-end >Problème PHP >Parlons de la conversion d'horodatage en php

Parlons de la conversion d'horodatage en php

PHPz
PHPzoriginal
2023-03-29 10:13:561095parcourir

L'horodatage est un moyen de représenter l'heure dans les ordinateurs et est généralement utilisé pour enregistrer l'heure spécifique à laquelle un événement se produit, comme les enregistrements de journaux, les enregistrements de base de données, etc. En PHP, les horodatages sont également largement utilisés, en particulier lorsqu'il s'agit d'activités liées au temps, la conversion des horodatages est particulièrement importante. Dans cet article, nous explorerons la conversion d'horodatage en PHP et son application en développement réel.

1. Le concept d'horodatage

L'horodatage Unix, également appelé horodatage POSIX, fait référence au nombre total de secondes depuis 00:00:00 (heure moyenne de Greenwich) du 1er janvier 1970 à nos jours. Étant donné que les horodatages sont mesurés en secondes, ils sont très précis et peuvent être facilement calculés et comparés.

En PHP, nous pouvons utiliser la fonction time() pour obtenir l'horodatage actuel, par exemple :

$timestamp = time();
echo $timestamp;

De cette façon, nous pouvons obtenir l'horodatage actuel, et le résultat de sortie est la valeur de l'horodatage actuel, qui est le nombre total de secondes.

2. Conversion d'horodatage

  1. Horodatage en date et heure

Dans le développement réel, nous devons souvent convertir les horodatages en dates et heures spécifiques. Dans ce cas, nous pouvons utiliser la fonction date() pour y parvenir. exemple :

$timestamp = time();
$date_time = date('Y-m-d H:i:s', $timestamp);
echo $date_time;

De cette façon, l'horodatage actuel peut être converti en une chaîne de date et d'heure, et le résultat de sortie sera dans un format similaire à "2021-01-01 12:00:00".

Dans la fonction date(), le premier paramètre est la chaîne de format. Le format peut être personnalisé en fonction des besoins. Les caractères de formatage couramment utilisés incluent :

Y:表示年份,例如“2021”;
m:表示月份,例如“01”;
d:表示日期,例如“01”;
H:表示小时,例如“12”;
i:表示分钟,例如“00”;
s:表示秒钟,例如“00”;

Pour plus de caractères de formatage, veuillez vous référer à la documentation officielle de PHP.

  1. Date time to timestamp

De même, si nous avons une chaîne de date et d'heure, nous pouvons également la convertir en horodatage, par exemple :

$date_time = '2021-01-01 12:00:00';
$timestamp = strtotime($date_time);
echo $timestamp;

De cette façon, "2021-01-01 12 :00 : 00" Cette chaîne de date et d'heure est convertie en horodatage et le résultat de sortie est le nombre total de secondes.

Dans la fonction strtotime(), nous pouvons transmettre la chaîne de date et d'heure en tant que paramètre, et la fonction l'analysera dans un horodatage et renverra le résultat.

3. Exemples d'application

La conversion d'horodatage est largement utilisée dans le développement réel. Utilisons un exemple simple pour illustrer son application.

Supposons que nous ayons une table utilisateur contenant un champ last_login_time. Ce champ est utilisé pour enregistrer l'heure à laquelle l'utilisateur s'est connecté pour la dernière fois. Afin de faciliter l'enregistrement et l'interrogation, nous souhaitons le stocker sous forme de date et d'heure.

Ensuite, nous pouvons obtenir l'horodatage actuel via la fonction time() une fois que l'utilisateur s'est connecté avec succès, puis appeler la fonction date() pour le convertir en chaîne de date et d'heure, et enfin le mettre à jour dans la base de données.

$timestamp = time();
$date_time = date('Y-m-d H:i:s', $timestamp);

// 更新用户表
$update_sql = "UPDATE user SET last_login_time = '$date_time' WHERE id = $user_id";

Lorsque nous aurons besoin d'interroger la dernière heure de connexion de l'utilisateur à l'avenir, il nous suffit de lire la valeur correspondante dans la base de données, puis d'appeler la fonction strtotime() pour la convertir en horodatage, et enfin d'appeler la date () pour convertir l'horodatage. Convertissez-le simplement en une chaîne datetime.

// 从数据库中读取last_login_time字段
$select_sql = "SELECT last_login_time FROM user WHERE id = $user_id";
$result = mysqli_query($conn, $select_sql);
$row = mysqli_fetch_assoc($result);
$last_login_time = $row['last_login_time'];

// 将日期时间字符串转换为时间戳
$timestamp = strtotime($last_login_time);

// 将时间戳转换为日期时间字符串
$date_time = date('Y-m-d H:i:s', $timestamp);

echo "你最后一次登录的时间是:" . $date_time;

Grâce aux exemples ci-dessus, nous pouvons voir l'application de la conversion d'horodatage dans le développement réel, qui peut facilement réaliser le stockage et la lecture de la date et de l'heure.

4. Résumé

Cet article présente principalement le concept et la méthode de conversion de l'horodatage en PHP, y compris deux méthodes de conversion de l'horodatage en date et heure et de conversion de la date et de l'heure en horodatage. cela peut être utile à tout le monde dans son développement réel.

Lorsque vous utilisez la conversion d'horodatage, vous devez faire attention au problème du fuseau horaire. Étant donné que l'horodatage est basé sur l'heure de Greenwich, vous devez prendre en compte l'impact du fuseau horaire lors de la conversion, sinon des incohérences horaires peuvent survenir.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn