|
- <?php
- if (!defined('DEDEINC')) exit('dedebiz');
- /**
- * 时间戳小助手
- *
- * @version $Id: time.helper.php 1 2010-07-05 11:43:09Z tianya $
- * @package DedeBIZ.Helpers
- * @copyright Copyright (c) 2022, DedeBIZ.COM
- * @license https://www.dedebiz.com/license
- * @link https://www.dedebiz.com
- */
- /**
- * 返回格林威治标准时间
- *
- * @param string $format 字符串格式
- * @param string $timest 时间基准
- * @return string
- */
- if (!function_exists('MyDate')) {
- function MyDate($format = 'Y-m-d H:i:s', $timest = 0)
- {
- global $cfg_cli_time;
- $addtime = $cfg_cli_time * 3600;
- if (empty($format)) {
- $format = 'Y-m-d H:i:s';
- }
- return gmdate($format, $timest + $addtime);
- }
- }
-
-
- /**
- * 从普通时间转换为Linux时间截
- *
- * @param string $dtime 普通时间
- * @return string
- */
- if (!function_exists('GetMkTime')) {
- function GetMkTime($dtime)
- {
- if (!preg_match("/[^0-9]/", $dtime)) {
- return $dtime;
- }
- $dtime = trim($dtime);
- $dt = array(1970, 1, 1, 0, 0, 0);
- $dtime = preg_replace("/[\r\n\t]|日|秒/", " ", $dtime);
- $dtime = str_replace("年", "-", $dtime);
- $dtime = str_replace("月", "-", $dtime);
- $dtime = str_replace("时", ":", $dtime);
- $dtime = str_replace("分", ":", $dtime);
- $dtime = trim(preg_replace("/[ ]{1,}/", " ", $dtime));
- $ds = explode(" ", $dtime);
- $ymd = explode("-", $ds[0]);
- if (!isset($ymd[1])) {
- $ymd = explode(".", $ds[0]);
- }
- if (isset($ymd[0])) {
- $dt[0] = $ymd[0];
- }
- if (isset($ymd[1])) $dt[1] = $ymd[1];
- if (isset($ymd[2])) $dt[2] = $ymd[2];
- if (strlen($dt[0]) == 2) $dt[0] = '20'.$dt[0];
- if (isset($ds[1])) {
- $hms = explode(":", $ds[1]);
- if (isset($hms[0])) $dt[3] = $hms[0];
- if (isset($hms[1])) $dt[4] = $hms[1];
- if (isset($hms[2])) $dt[5] = $hms[2];
- }
- foreach ($dt as $k => $v) {
- $v = preg_replace("/^0{1,}/", '', trim($v));
- if ($v == '') {
- $dt[$k] = 0;
- }
- }
- $mt = mktime($dt[3], $dt[4], $dt[5], $dt[1], $dt[2], $dt[0]);
- if (!empty($mt)) {
- return $mt;
- } else {
- return time();
- }
- }
- }
-
-
- /**
- * 减去时间
- *
- * @param int $ntime 当前时间
- * @param int $ctime 减少的时间
- * @return int
- */
- if (!function_exists('SubDay')) {
- function SubDay($ntime, $ctime)
- {
- $dayst = 3600 * 24;
- $cday = ceil(($ntime - $ctime) / $dayst);
- return $cday;
- }
- }
-
-
- /**
- * 增加天数
- *
- * @param int $ntime 当前时间
- * @param int $aday 增加天数
- * @return int
- */
- if (!function_exists('AddDay')) {
- function AddDay($ntime, $aday)
- {
- $dayst = 3600 * 24;
- $oktime = $ntime + ($aday * $dayst);
- return $oktime;
- }
- }
-
-
- /**
- * 返回格式化(Y-m-d H:i:s)的是时间
- *
- * @param int $mktime 时间戳
- * @return string
- */
- if (!function_exists('GetDateTimeMk')) {
- function GetDateTimeMk($mktime)
- {
- return MyDate('Y-m-d H:i:s', $mktime);
- }
- }
-
- /**
- * 返回格式化(Y-m-d)的日期
- *
- * @param int $mktime 时间戳
- * @return string
- */
- if (!function_exists('GetDateMk')) {
- function GetDateMk($mktime)
- {
- if ($mktime == "0") return "暂无";
- else return MyDate("Y-m-d", $mktime);
- }
- }
-
-
- /**
- * 将时间转换为距离现在的精确时间
- *
- * @param int $seconds 秒数
- * @return string
- */
- if (!function_exists('FloorTime')) {
- function FloorTime($seconds)
- {
- $times = '';
- $days = floor(($seconds / 86400) % 30);
- $hours = floor(($seconds / 3600) % 24);
- $minutes = floor(($seconds / 60) % 60);
- $seconds = floor($seconds % 60);
- if ($seconds >= 1) $times .= $seconds.'秒';
- if ($minutes >= 1) $times = $minutes.'分钟 '.$times;
- if ($hours >= 1) $times = $hours.'小时 '.$times;
- if ($days >= 1) $times = $days.'天';
- if ($days > 30) return false;
- $times .= '前';
- return str_replace(" ", '', $times);
- }
- }
|