国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

187 řádky
4.5KB

  1. <?php if(!defined('DEDEINC')) exit('dedecms');
  2. /**
  3. * 时间戳小助手
  4. *
  5. * @version $Id: time.helper.php 1 2010-07-05 11:43:09Z tianya $
  6. * @package DedeCMS.Helpers
  7. * @copyright Copyright (c) 2020, DedeBIZ.COM
  8. * @license https://www.dedebiz.com/license
  9. * @link https://www.dedebiz.com
  10. */
  11. /**
  12. * 返回格林威治标准时间
  13. *
  14. * @param string $format 字符串格式
  15. * @param string $timest 时间基准
  16. * @return string
  17. */
  18. if ( ! function_exists('MyDate'))
  19. {
  20. function MyDate($format='Y-m-d H:i:s', $timest=0)
  21. {
  22. global $cfg_cli_time;
  23. $addtime = $cfg_cli_time * 3600;
  24. if(empty($format))
  25. {
  26. $format = 'Y-m-d H:i:s';
  27. }
  28. return gmdate ($format, $timest+$addtime);
  29. }
  30. }
  31. /**
  32. * 从普通时间转换为Linux时间截
  33. *
  34. * @param string $dtime 普通时间
  35. * @return string
  36. */
  37. if ( ! function_exists('GetMkTime'))
  38. {
  39. function GetMkTime($dtime)
  40. {
  41. if(!preg_match("/[^0-9]/", $dtime))
  42. {
  43. return $dtime;
  44. }
  45. $dtime = trim($dtime);
  46. $dt = Array(1970, 1, 1, 0, 0, 0);
  47. $dtime = preg_replace("/[\r\n\t]|日|秒/", " ", $dtime);
  48. $dtime = str_replace("年", "-", $dtime);
  49. $dtime = str_replace("月", "-", $dtime);
  50. $dtime = str_replace("时", ":", $dtime);
  51. $dtime = str_replace("分", ":", $dtime);
  52. $dtime = trim(preg_replace("/[ ]{1,}/", " ", $dtime));
  53. $ds = explode(" ", $dtime);
  54. $ymd = explode("-", $ds[0]);
  55. if(!isset($ymd[1]))
  56. {
  57. $ymd = explode(".", $ds[0]);
  58. }
  59. if(isset($ymd[0]))
  60. {
  61. $dt[0] = $ymd[0];
  62. }
  63. if(isset($ymd[1])) $dt[1] = $ymd[1];
  64. if(isset($ymd[2])) $dt[2] = $ymd[2];
  65. if(strlen($dt[0])==2) $dt[0] = '20'.$dt[0];
  66. if(isset($ds[1]))
  67. {
  68. $hms = explode(":", $ds[1]);
  69. if(isset($hms[0])) $dt[3] = $hms[0];
  70. if(isset($hms[1])) $dt[4] = $hms[1];
  71. if(isset($hms[2])) $dt[5] = $hms[2];
  72. }
  73. foreach($dt as $k=>$v)
  74. {
  75. $v = preg_replace("/^0{1,}/", '', trim($v));
  76. if($v=='')
  77. {
  78. $dt[$k] = 0;
  79. }
  80. }
  81. $mt = mktime($dt[3], $dt[4], $dt[5], $dt[1], $dt[2], $dt[0]);
  82. if(!empty($mt))
  83. {
  84. return $mt;
  85. }
  86. else
  87. {
  88. return time();
  89. }
  90. }
  91. }
  92. /**
  93. * 减去时间
  94. *
  95. * @param int $ntime 当前时间
  96. * @param int $ctime 减少的时间
  97. * @return int
  98. */
  99. if ( ! function_exists('SubDay'))
  100. {
  101. function SubDay($ntime, $ctime)
  102. {
  103. $dayst = 3600 * 24;
  104. $cday = ceil(($ntime-$ctime)/$dayst);
  105. return $cday;
  106. }
  107. }
  108. /**
  109. * 增加天数
  110. *
  111. * @param int $ntime 当前时间
  112. * @param int $aday 增加天数
  113. * @return int
  114. */
  115. if ( ! function_exists('AddDay'))
  116. {
  117. function AddDay($ntime, $aday)
  118. {
  119. $dayst = 3600 * 24;
  120. $oktime = $ntime + ($aday * $dayst);
  121. return $oktime;
  122. }
  123. }
  124. /**
  125. * 返回格式化(Y-m-d H:i:s)的是时间
  126. *
  127. * @param int $mktime 时间戳
  128. * @return string
  129. */
  130. if ( ! function_exists('GetDateTimeMk'))
  131. {
  132. function GetDateTimeMk($mktime)
  133. {
  134. return MyDate('Y-m-d H:i:s',$mktime);
  135. }
  136. }
  137. /**
  138. * 返回格式化(Y-m-d)的日期
  139. *
  140. * @param int $mktime 时间戳
  141. * @return string
  142. */
  143. if ( ! function_exists('GetDateMk'))
  144. {
  145. function GetDateMk($mktime)
  146. {
  147. if($mktime=="0") return "暂无";
  148. else return MyDate("Y-m-d", $mktime);
  149. }
  150. }
  151. /**
  152. * 将时间转换为距离现在的精确时间
  153. *
  154. * @param int $seconds 秒数
  155. * @return string
  156. */
  157. if ( ! function_exists('FloorTime'))
  158. {
  159. function FloorTime($seconds)
  160. {
  161. $times = '';
  162. $days = floor(($seconds/86400)%30);
  163. $hours = floor(($seconds/3600)%24);
  164. $minutes = floor(($seconds/60)%60);
  165. $seconds = floor($seconds%60);
  166. if($seconds >= 1) $times .= $seconds.'秒';
  167. if($minutes >= 1) $times = $minutes.'分钟 '.$times;
  168. if($hours >= 1) $times = $hours.'小时 '.$times;
  169. if($days >= 1) $times = $days.'天';
  170. if($days > 30) return false;
  171. $times .= '前';
  172. return str_replace(" ", '', $times);
  173. }
  174. }