Maison  >  Article  >  développement back-end  >  À propos du temps de formatage personnalisé php

À propos du temps de formatage personnalisé php

不言
不言original
2018-06-21 14:58:311698parcourir

Cet article présente principalement l'heure de formatage personnalisée de PHP, qui 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

L'heure était il y a exactement 5 minutes. L'horodatage correspondant sera formaté comme il y a 5 minutes. La méthode de formatage personnalisée est la suivante. Les amis intéressés peuvent se référer à ce qui suit

Par exemple : si l'heure est il y a exactement 5 minutes, alors l'horodatage correspondant sera formaté. être formaté comme il y a 5 minutes. Sans plus tarder, collez simplement le code :

/** 
* 格式化时间 
* @param integer $timestamp 时间戳 
* @param string $format dt=日期时间 d=日期 t=时间 u=个性化 其他=自定义 
* @param integer $timeoffset 时区值 
* @param string $custom_format 自定义时间格式 
* @return string 
*/ 
public function dgmdate( $timestamp, $format = 'dt', $timeoffset = '9999', $custom_format = '' ) { 
$return = ''; 
$now = time(); 
$day_format = 'Y-n-j'; 
$time_format = 'H:i:s'; 
$date_format = $day_format . ' ' . $time_format; 
$offset = 8; //这里默认是东八区,也就是北京时间 
$lang = array( 
'before' => '前', 
'day' => '天', 
'yday' => '昨天', 
'byday' => '前天', 
'hour' => '小时', 
'half' => '半', 
'min' => '分钟', 
'sec' => '秒', 
'now' => '刚刚', 
); 
$timeoffset = $timeoffset == 9999 ? $offset : $timeoffset; 
$timestamp += $timeoffset * 3600; 
switch ( $format ) { 
case 'dt': 
$format = $date_format; 
break; 
case 'd': 
$format = $day_format; 
break; 
case 't': 
$format = $time_format; 
break; 
} 
if ( $format == 'u' ) { 
$todaytimestamp = $now - ($now + $timeoffset * 3600) % 86400 + $timeoffset * 3600; 
$s = gmdate( empty( $custom_format ) ? $date_format : $custom_format, $timestamp ); 
$time = $now + $timeoffset * 3600 - $timestamp; 
if ( $timestamp >= $todaytimestamp ) { 
if ( $time > 3600 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . intval( $time / 3600 ) . $lang[&#39;hour&#39;] . $lang[&#39;before&#39;] . &#39;</span>&#39;; 
} elseif ( $time > 1800 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . $lang[&#39;half&#39;] . $lang[&#39;hour&#39;] . $lang[&#39;before&#39;] . &#39;</span>&#39;; 
} elseif ( $time > 60 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . intval( $time / 60 ) . $lang[&#39;min&#39;] . $lang[&#39;before&#39;] . &#39;</span>&#39;; 
} elseif ( $time > 0 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . $time . $lang[&#39;sec&#39;] . $lang[&#39;before&#39;] . &#39;</span>&#39;; 
} elseif ( $time == 0 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . $lang[&#39;now&#39;] . &#39;</span>&#39;; 
} else { 
$return = $s; 
} 
} elseif ( ($days = intval( ($todaytimestamp - $timestamp) / 86400 )) >= 0 && $days < 7 ) { 
if ( $days == 0 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . $lang[&#39;yday&#39;] . gmdate( $time_format, $timestamp ) . &#39;</span>&#39;; 
} elseif ( $days == 1 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . $lang[&#39;byday&#39;] . gmdate( $time_format, $timestamp ) . &#39;</span>&#39;; 
} else { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . ($days + 1) . $lang[&#39;day&#39;] . $lang[&#39;before&#39;] . &#39;</span>&#39;; 
} 
} else { 
$return = $s; 
} 
} else { 
$return = gmdate( $format, $timestamp ); 
} 
return $return; 
}

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. veuillez suivre le site Web PHP chinois !

Recommandations associées :

À propos de la façon d'utiliser exec, system et d'autres fonctions pour appeler des commandes système en php

Implémentation de la conversion du décalage horaire en chaîne 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