Maison >développement back-end >tutoriel php >Partage sur la façon dont PHP implémente la comparaison du temps et le calcul du décalage horaire

Partage sur la façon dont PHP implémente la comparaison du temps et le calcul du décalage horaire

黄舟
黄舟original
2017-07-24 14:36:483721parcourir

Cet article présente principalement la méthode de comparaison du temps et de calcul du décalage horaire en PHP, impliquant la conversion de date et d'heure PHP, le calcul et d'autres compétences opérationnelles connexes. Les amis dans le besoin peuvent s'y référer

Cet article décrit PHP. avec des exemples Méthode pour mettre en œuvre la comparaison temporelle et le calcul du décalage horaire. Partagez-le avec tout le monde pour votre référence, comme suit :

Exemple 1 :


<?php
//PHP时间比较和时间差计算:
//(1).比较两个绝对时间的大小
header("Content-type: text/html; charset=utf-8");
date_default_timezone_set(&#39;PRC&#39;);
$zero1=date("Y-m-d h:i:s");
//$zero1="2010-11-29 21:07:00";
$zero2="2010-11-29 21:07:00";
echo "zero1的时间为:".$zero1."<br>";
echo "zero2的时间为:".$zero2."<br>";
// strtotime — 将任何英文文本的日期时间描述解析为 Unix 时间戳
if(strtotime($zero1)<strtotime($zero2)){
 echo "zero1早于zero2";
}else if(strtotime($zero1)>strtotime($zero2)){
 echo "zero2早于zero1";
}else{
 echo "zero2等于zero1";
}
echo "<br/><br/>";
?>

Résultat d'exécution :


zero1的时间为:2017-07-24 12:18:39
zero2的时间为:2010-11-29 21:07:00
zero2早于zero1

Exemple 2 :


<?php
//(2).倒计时小程序
$zero1=strtotime (date("y-m-d h:i:s")); //当前时间 ,注意H 是24小时 h是12小时
$zero2=strtotime ("2018-1-1 00:00:00"); //过年时间
//float ceil ( float $value )
//返回不小于 value 的下一个整数,value 如果有小数部分则进一位。
$guonian=ceil(($zero2-$zero1)/86400); //60s*60min*24h
echo "离过年还有<strong>$guonian</strong>天!";
echo "<br/><br/>";
?>

Résultat de l'exécution :


离过年还有161天

Exemple 3 :


<?php
//(3).PHP计算两个时间差的方法
$startdate=date("y-m-d H:i:s");
$enddate="2017-7-30 18:00:00";
// floor — 舍去法取整
// float floor ( float $value )
// 返回不大于 value 的最接近的整数,舍去小数部分取整。
$date=floor((strtotime($enddate)-strtotime($startdate))/86400);
$hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600);
$minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60);
$second=floor((strtotime($enddate)-strtotime($startdate))%86400%60);
echo "现在距结束时间还有".$date."天".$hour."小时".$minute."分钟".$second."秒";
echo "<br/><br/>";
?>

Résultat de l'exécution :


现在距结束时间还有6天5小时339分钟56秒

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