Maison >développement back-end >tutoriel php >Implémentation de la conversion du décalage horaire en chaîne en php

Implémentation de la conversion du décalage horaire en chaîne en php

不言
不言original
2018-06-21 13:50:142143parcourir

Cet article présente principalement l'implémentation de la conversion du décalage horaire en chaîne en PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Stocké en le transmettant dans le fichier. base de données L'horodatage UNIX de la publication de l'article peut être converti en invites telles que il y a quelques minutes, il y a des heures et il y a des jours. Par exemple, Weibo

Cela a l'air plus convivial, d'accord, ajoutons le code

<?php 
class timeAgo 
{ 
static $timeagoObject; 
private $rustle; 
private $unit; 
private function __construct() 
{ 
} 
private function __clone(){ } 
public static function getObject() 
{ 
if(! (self::$timeagoObject instanceof self) ) 
self::$timeagoObject = new timeAgo(); 
return self::$timeagoObject; 
} 
private function count_int($unix_C) // main function 
{ 
if(! (isset($unix_C) || is_numeric($unix_C)) ) 
return &#39;don\&#39;t find parameter&#39;; 
$d = time()-$unix_C ; // $d - unix time difference value 
$d_int =(int)floor($d/60) ; // minimum unit -- minutes unix/60 
$this->unit = 0 ; // is minutes,hour or day? 
if($d_int < 60){ // minutes in one hour 3600 
$this->rustle = $d_int; 
$this->unit = 1; 
} 
else if($d_int < 720){ //hour in one day 3600*12 
$this->rustle = floor($d_int/60); 
$this->unit = 2 ; 
} 
else if($d_int < 7200){ //day in ten days 3600*12*10 
$this->rustle = floor($d_int/720); 
$this->unit = 3 ; 
} 
else{ 
$this->rustle = $d ; 
$this->unit = 4 ; 
} 
} 
public function piece_str($C) 
{ 
$this->count_int($C); 
$u = &#39;&#39;; 
switch( $this->unit ) 
{ 
case 1: 
$u = &#39;minute&#39;; 
break; 
case 2: 
$u = &#39;hour&#39;; 
break; 
case 3: 
$u = &#39;day&#39;; 
break; 
case 4: 
$u = &#39;&#39;; 
break; 
case 0: 
return &#39;sorry , get time is fail&#39;; 
} 
if($this->unit < 4) 
{ 
if($this->rustle > 1) 
return (string)$this->rustle.$u.&#39;s ago&#39;; 
else if($this->rustle == 1) 
return (string)$this->rustle.$u.&#39;ago&#39;; 
else 
return &#39;Just now&#39;; 
} 
} 
/* example: $ago = timeAgo::getObject(); 
* echo $ago->piece_str($unix); 
* // 2 days ago 
*/ 
} 
?>

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à tout le monde apprentissage, plus de contenu connexe Veuillez faire attention au site Web PHP chinois !

Recommandations associées :

À propos de la façon de trouver les 10 plus grands et les plus petits nombres dans un tableau numérique en PHP

À propos Résumé de quelques méthodes d'interception de chaînes en PHP

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