


Comment convertir des heures, des minutes et des secondes en secondes en php
Dans le développement PHP, le traitement du temps est une exigence très courante. Nous devrons peut-être convertir une heure au format chaîne en un horodatage, ou nous devrons peut-être convertir l'horodatage dans un format plus lisible. Bien entendu, il existe également un besoin courant de convertir les heures, les minutes et les secondes en secondes. Alors, comment réaliser cette conversion ? Cet article présentera quelques méthodes de mise en œuvre.
Méthode 1 : fonction strtotime
La fonction intégrée PHP strtotime()
peut analyser une chaîne de date et d'heure lisible par l'homme dans un horodatage UNIX. Sur la base de cette fonction, nous pouvons convertir les heures, les minutes et les secondes en secondes. Le code d'implémentation spécifique est le suivant : strtotime()
可以将一个人类可读的日期时间字符串解析为UNIX时间戳。基于这个函数,我们可以将时分秒转换成秒数。具体实现代码如下:
function hmsToSeconds($hms) { $seconds = strtotime("1970-1-1 $hms UTC"); return date('H:i:s', $seconds); }
其中,$hms
为时分秒,格式为H:i:s
,例如11:00:30
。我们首先将时分秒和一个UNIX时间点(1970-1-1)拼接成一个完整的时间字符串,再用strtotime()
函数将其转换成UNIX时间戳。最后,将转换得到的秒数格式化为时分秒输出即可。
需要注意的是,由于strtotime()
函数默认使用当前时区,我们需要设置其使用UTC
时区,否则可能产生时差,导致计算秒数出现错误。
方法二:explod函数
除了使用strtotime()
函数外,我们还可以使用explode()
函数,将时分秒字符串按照:
进行分割,然后将各个部分转换成秒数,再相加得到总秒数。具体实现代码如下:
function hmsToSeconds($hms) { list($hours, $minutes, $seconds) = explode(':', $hms); return $hours * 3600 + $minutes * 60 + $seconds; }
其中,list()
函数用于将通过explode()
函数得到的数组元素赋值给相应的变量。我们将时、分、秒三个元素依次赋给$hours
、$minutes
、$seconds
三个变量,然后将它们转换成秒数,再相加得到总秒数。
需要注意的是,如果时分秒字符串中某一部分为单数(例如01
),需要保证传入函数时不含有前导零,否则可能被解析为八进制数而出现错误。
方法三:DateTime类
除了使用内置函数,我们还可以使用PHP提供的DateTime
类,将时分秒转换成总秒数。具体实现代码如下:
function hmsToSeconds($hms) { $time = date_create_from_format('H:i:s', $hms); return $time->getTimestamp() - strtotime('today'); }
首先,我们使用date_create_from_format()
函数,将$hms
格式化为H:i:s
的时间对象。然后,使用getTimestamp()
方法获取该对象对应的UNIX时间戳,再减去今天零点时的UNIX时间戳,即可得到该时间相对于今天零点的总秒数。
需要注意的是,由于date_create_from_format()
函数返回的是一个DateTime
对象,因此需要使用对象的方法获取时间戳值。
总结
在PHP开发中,将时分秒转换成秒数是一个常见的需求。我们可以使用内置函数strtotime()
和explode()
,也可以使用DateTime
rrreee
$hms
correspond aux heures, minutes et secondes, et le format est H:i:s
, tel que 11:00:30. Nous concaténons d'abord les heures, les minutes, les secondes et un point temporel UNIX (1970-1-1) en une chaîne temporelle complète, puis utilisons la fonction strtotime()
pour la convertir en un horodatage UNIX. Enfin, formatez les secondes converties en heures, minutes et secondes pour la sortie. 🎜🎜Il est à noter que puisque la fonction strtotime()
utilise le fuseau horaire actuel par défaut, nous devons la configurer pour utiliser le fuseau horaire UTC
, sinon les différences horaires peut se produire, entraînant des erreurs dans le calcul des secondes. 🎜🎜Méthode 2 : fonction exploser🎜🎜En plus d'utiliser la fonction strtotime()
, nous pouvons également utiliser la fonction explode()
pour convertir les heures, les minutes et les secondes chaîne selon :
Divisez-la, convertissez les parties en secondes et additionnez-les ensemble pour obtenir le nombre total de secondes. Le code d'implémentation spécifique est le suivant : 🎜rrreee🎜 Parmi eux, la fonction list()
est utilisée pour attribuer les éléments du tableau obtenus via la fonction explode()
au correspondant variables. Nous attribuons tour à tour les trois éléments heures, minutes et secondes aux trois variables $hours
, $minutes
et $seconds
, et puis convertissez-les en secondes et additionnez-les pour obtenir le nombre total de secondes. 🎜🎜Il convient de noter que si une certaine partie de la chaîne d'heure, de minute et de seconde est un nombre impair (comme 01
), vous devez vous assurer qu'il n'y a pas de zéros non significatifs lors de la transmission. la fonction, sinon elle peut être analysée comme un nombre octal et une erreur se produira. 🎜🎜Méthode 3 : classe DateTime🎜🎜En plus d'utiliser les fonctions intégrées, nous pouvons également utiliser la classe DateTime
fournie par PHP pour convertir les heures, les minutes et les secondes en secondes totales. Le code d'implémentation spécifique est le suivant : 🎜rrreee🎜Tout d'abord, nous utilisons la fonction date_create_from_format()
pour formater $hms
en H:i:s
objet temporel. Ensuite, utilisez la méthode getTimestamp()
pour obtenir l'horodatage UNIX correspondant à l'objet, puis soustrayez l'horodatage UNIX à 0h00 aujourd'hui pour obtenir le nombre total de secondes de cette heure par rapport à 0 : 00 aujourd'hui. 🎜🎜Il est à noter que puisque la fonction date_create_from_format()
renvoie un objet DateTime
, vous devez utiliser la méthode de l'objet pour obtenir la valeur d'horodatage. 🎜🎜Résumé🎜🎜Dans le développement PHP, la conversion des heures, des minutes et des secondes en secondes est une exigence courante. Nous pouvons utiliser les fonctions intégrées strtotime()
et explode()
, ou nous pouvons utiliser la classe DateTime
pour réaliser la conversion via différentes méthodes. . Il convient de noter qu'il existe certaines différences entre les différentes méthodes en termes d'exactitude, de légalité et de difficulté d'utilisation. Il est nécessaire de sélectionner la méthode de conversion la plus appropriée en fonction de la situation spécifique. 🎜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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





L'article traite des 10 meilleures vulnérabilités de l'OWASP dans les stratégies PHP et d'atténuation. Les problèmes clés incluent l'injection, l'authentification brisée et les XS, avec des outils recommandés pour surveiller et sécuriser les applications PHP.

La compilation JIT de PHP 8 améliore les performances en compilant le code fréquemment exécuté en code machine, bénéficiant aux applications avec des calculs lourds et en réduisant les temps d'exécution.

L'article traite de la sécurisation des téléchargements de fichiers PHP pour éviter les vulnérabilités comme l'injection de code. Il se concentre sur la validation du type de fichier, le stockage sécurisé et la gestion des erreurs pour améliorer la sécurité de l'application.

L'article traite du cryptage symétrique et asymétrique en PHP, en comparant leur aptitude, leurs performances et leurs différences de sécurité. Le chiffrement symétrique est plus rapide et adapté aux données en vrac, tandis que l'asymétrique est utilisé pour l'échange de clés sécurisé.

L'article examine la mise en œuvre d'authentification et d'autorisation robustes dans PHP pour empêcher un accès non autorisé, détaillant les meilleures pratiques et recommandant des outils d'amélioration de la sécurité.

L'article traite des stratégies de mise en œuvre de la limitation du taux d'API en PHP, y compris des algorithmes comme un godet de jeton et un seau qui fuit, et en utilisant des bibliothèques comme Symfony / Rate-Limiter. Il couvre également la surveillance, l'ajustement dynamiquement des limites de taux et la main

L'article traite des meilleures pratiques pour la validation des entrées PHP pour améliorer la sécurité, en se concentrant sur des techniques telles que l'utilisation de fonctions intégrées, une approche de liste blanche et une validation côté serveur.

L'article traite des stratégies pour prévenir les attaques du CSRF dans PHP, notamment en utilisant des jetons CSRF, des cookies de même site et une bonne gestion de session.
