欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php 时隔日期工具类

程序员文章站 2022-04-29 23:46:40
...
php 时间日期工具类
1582), century not-divisible by 400 is not leap
		else if ($year > 1582 && $year % 100 == 0 )
			return false;
		return true;
	}

	/**
	 * Fix 2-digit years. Works for any century.
	 * Assumes that if 2-digit is more than 30 years in future, then previous century.
	 * @param integer $y year
	 * @return integer change two digit year into multiple digits
	 */
	protected static function digitCheck($y)
	{
		if ($y  50) {
				$c1 = $century + 1;
				$c0 = $century;
			} else {
				$c1 = $century;
				$c0 = $century - 1;
			}
			$c1 *= 100;
			// if 2-digit year is less than 30 years in future, set it to this century
			// otherwise if more than 30 years in future, then we set 2-digit year to the prev century.
			if (($y + $c1)  23) || !$hs24 && ($h  12)) return false;
		if($m > 59 || $m  59 || $s = 0 && $timeArr [0] = 0 && $timeArr [1] = 0 && $timeArr [2] 
	public static function getWeekDay($date, $separator = "-") { //计算出给出的日期是星期几
		$dateArr = explode ($separator, $date);
		return date ( "w", mktime ( 0, 0, 0, $dateArr [1], $dateArr [2], $dateArr [0] ) );
	}
	
	public static function floorTime($seconds) { //让日期显示为:XX天XX年以前 
		$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 );
	}
	
	public static function transDateToChs($date) {
		if (empty ( $date ))
			return '今日';
		$y = date ( 'Y', strtotime ( $date ) );
		$m = date ( 'm', strtotime ( $date ) );
		$d = date ( 'd', strtotime ( $date ) );
		return $y . '年' . $m . '月' . $d . '日';
	}
	
	// 08/31/2004 => 2004-08-31
	public static function TransDateUI($datestr, $type = 'Y-m-d') {
		if ($datestr == Null)
			return Null;
		$target = $datestr;
		$arr_date = preg_split ( "/\//", $target );
		$monthstr = $arr_date [0];
		$daystr = $arr_date [1];
		$yearstr = $arr_date [2];
		$result = date ( $type, mktime ( 0, 0, 0, $monthstr, $daystr, $yearstr ) );
		return $result;
	}
	
	// 12/20/2004 10:55 AM => 2004-12-20 10:55:00
	public static function TransDateTimeUI($datestr, $type = 'Y-m-d H:i:s') {
		if ($datestr == Null)
			return Null;
		$target = $datestr;
		$arr_date = preg_split ( "/\/|\s|:/", $target );
		$monthstr = $arr_date [0];
		$daystr = $arr_date [1];
		$yearstr = $arr_date [2];
		$hourstr = $arr_date [3];
		$minutesstr = $arr_date [4];
		$result = date ( $type, mktime ( $hourstr, $minutesstr, 0, $monthstr, $daystr, $yearstr ) );
		return $result;
	}
	
	// 2004-08-31 => 08/31/2004
	public static function TransDateDB($datestr, $type = 'm/d/Y') {
		if ($datestr == Null)
			return Null;
		if ($datestr == '0000-00-00')
			return Null;
		$target = $datestr;
		$arr_date = preg_split ( "/-/", $target );
		$monthstr = $arr_date [1];
		$daystr = $arr_date [2];
		$yearstr = $arr_date [0];
		$result = date ( $type, mktime ( 0, 0, 0, $monthstr, $daystr, $yearstr ) );
		return $result;
	}
	
	// 2004-08-31 10:55:00 => 12/20/2004 10:55 AM 
	public static function TransDateTimeDB($datestr, $type = 'm/d/Y h:i A') {
		if ($datestr == Null)
			return Null;
		$target = $datestr;
		$arr_date = preg_split ( "/-|\s|:/", $target );
		$monthstr = $arr_date [1];
		$daystr = $arr_date [2];
		$yearstr = $arr_date [0];
		$hourstr = $arr_date [3];
		$minutesstr = $arr_date [4];
		$secondstr = $arr_date [5];
		$result = date ( $type, mktime ( $hourstr, $minutesstr, $secondstr, $monthstr, $daystr, $yearstr ) );
		return $result;
	}
}
?>
?
php 时隔日期工具类

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频