日期工具类


class dateUtil {
	function beginToday() {
		// 今天开始时间
		$beginToday = date ( "Y-m-d H:i:s", mktime ( 0, 0, 0, date ( 'm' ), date ( 'd' ), date ( 'Y' ) ) );
		return $beginToday;
	}
	function endToday() {
		// 今天结束时间
		$endToday = date ( "Y-m-d H:i:s", mktime ( 0, 0, 0, date ( 'm' ), date ( 'd' ) + 1, date ( 'Y' ) ) - 1 );
		return $endToday;
	}
	function beginYesterday() {
		// 昨天开始时间
		$beginYesterday = date ( "Y-m-d H:i:s", mktime ( 0, 0, 0, date ( 'm' ), date ( 'd' ) - 1, date ( 'Y' ) ) );
		return $beginYesterday;
	}
	function endYesterday() {
		// 昨天结束时间
		$endYesterday = date ( "Y-m-d H:i:s", mktime ( 0, 0, 0, date ( 'm' ), date ( 'd' ), date ( 'Y' ) ) - 1 );
		return $endYesterday;
	}
	function beginThisweek() {
		// 本周开始时间
		$beginThisweek = date ( "Y-m-d H:i:s", mktime ( 0, 0, 0, date ( "m" ), date ( "d" ) - date ( "w" ) + 1, date ( "Y" ) ) );
		return $beginThisweek;
	}
	function endThisweek() {
		// 本周结束时间
		$endThisweek = date ( "Y-m-d H:i:s", mktime ( 23, 59, 59, date ( "m" ), date ( "d" ) - date ( "w" ) + 7, date ( "Y" ) ) );
		return $endThisweek;
	}
	function beginLastweek() {
		// 上周开始时间
		$beginLastweek = date ( "Y-m-d H:i:s", mktime ( 0, 0, 0, date ( 'm' ), date ( 'd' ) - date ( 'w' ) + 1 - 7, date ( 'Y' ) ) );
		return $beginLastweek;
	}
	function endLastweek() {
		// 上周结束时间
		$endLastweek = date ( "Y-m-d H:i:s", mktime ( 23, 59, 59, date ( 'm' ), date ( 'd' ) - date ( 'w' ) + 7 - 7, date ( 'Y' ) ) );
		return $endLastweek;
	}
	function beginThismonth() {
		// 本月开始时间
		$beginThismonth = date ( "Y-m-d H:i:s", mktime ( 0, 0, 0, date ( 'm' ), 1, date ( 'Y' ) ) );
		return $beginThismonth;
	}
	function endThismonth() {
		// 本月结束时间
		$endThismonth = date ( "Y-m-d H:i:s", mktime ( 23, 59, 59, date ( 'm' ), date ( 't' ), date ( 'Y' ) ) );
		return $endThismonth;
	}
	function beginLastmonth() {
		// 上月开始时间
		$beginLastmonth = date ( "Y-m-d H:i:s", mktime ( 0, 0, 0, date ( "m" ) - 1, 1, date ( "Y" ) ) );
		return $beginLastmonth;
	}
	function endLastmonth() {
		// 上月结束时间
		$endLastmonth = date ( "Y-m-d H:i:s", mktime ( 23, 59, 59, date ( "m" ), 0, date ( "Y" ) ) );
		return $endLastmonth;
	}
	function beginThisseason() {
		// 本季度开始时间
		$season = ceil ( (date ( 'n' )) / 3 ); // 当前是第几季度
		$beginThisseason = date ( 'Y-m-d H:i:s', mktime ( 0, 0, 0, $season * 3 - 3 + 1, 1, date ( 'Y' ) ) );
		return $beginThisseason;
	}
	function endThisseason() {
		// 本季度结束时间
		$endThisseason = date ( 'Y-m-d H:i:s', mktime ( 23, 59, 59, $season * 3, date ( 't', mktime ( 0, 0, 0, $season * 3, 1, date ( "Y" ) ) ), date ( 'Y' ) ) );
		return $endThisseason;
	}
	function beginLastseason() {
		// 上季度开始时间
		$season1 = ceil ( (date ( 'n' )) / 3 ) - 1; // 上季度是第几季度
		$beginLastseason = date ( 'Y-m-d H:i:s', mktime ( 0, 0, 0, $season1 * 3 - 3 + 1, 1, date ( 'Y' ) ) );
		return $beginLastseason;
	}
	function endLastseason() {
		// 上季度结束时间
		$endLastseason = date ( 'Y-m-d H:i:s', mktime ( 23, 59, 59, $season1 * 3, date ( 't', mktime ( 0, 0, 0, $season1 * 3, 1, date ( "Y" ) ) ), date ( 'Y' ) ) );
		return $endLastseason;
	}
	function beginThisyear() {
		// 本年开始时间
		$beginThisyear = date ( "Y", time () ) . "-1" . "-1";
		return $beginThisyear;
	}
	function endThisyear() {
		// 本年结束时间
		$endThisyear = date ( "Y", time () ) . "-12" . "-31";
		return $endThisyear;
	}
	/**
	 * 获取当前系统时间(精确到毫秒)
	 * @return float
	 */
	function getMillisecond() {
		list($t1, $t2) = explode(' ', microtime());
		return (float)sprintf('%.0f', (floatval($t1) + floatval($t2)) * 1000);
	}
	
	/**
	 * 获取当前系统时间(精确到微秒)
	 * @return float
	 */
	function getMicrosecond() {
		list($t1, $t2) = explode(' ', microtime());
		return sprintf('%.0f', (floatval($t1) + floatval($t2)) * 1000000);
	}

	/**
	 * 求两个日期之间相差的天数
	 * (针对1970年1月1日之后,求之前可以采用泰勒公式)
	 * @param string $day1
	 * @param string $day2
	 * @return number
	 */
	function diffBetweenTwoDays ($day1, $day2) {
		$second1 = strtotime($day1);
		$second2 = strtotime($day2);
	
		if ($second1 < $second2) {
			$tmp = $second2;
			$second2 = $second1;
			$second1 = $tmp;
		}
		return round($second1 - $second2) / 3600/24;
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hutool的日期工具类是其中一个常用的类辅助工具之一。它提供了一系列方便的方法来处理日期和时间相关的操作。日期工具类具有以下特点: 1. 可以灵活地处理日期和时间的格式化和解析。 2. 可以进行日期的计算和比较,例如计算两个日期之间的天数或小时数差距。 3. 可以对日期进行加减操作,例如增加几天或减去几小时。 4. 可以获取当前日期和时间,以及获取特定日期的年、月、日、小时、分钟、秒等信息。 日期工具类的使用非常简单,你可以使用DateTime类来进行日期相关的操作。DateTime类继承自java.util.Date,因此可以替代原生的Date类的使用,并且还提供了许多其他实用的方法。 例如,你可以使用DateTime的now()方法获取当前日期和时间,使用format()方法将日期格式化为指定的格式,使用parse()方法将字符串解析为日期对象,使用plusDays()方法增加指定的天数等等。 总的来说,Hutool的日期工具类提供了丰富的方法和功能,可以方便地处理日期和时间相关的操作。您可以根据具体的需求选择使用适合的方法来简化您的开发工作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Hutool使用指南(一):时间日期工具](https://blog.csdn.net/C18298182575/article/details/131008226)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [hutool 工具类](https://download.csdn.net/download/LiHaoYang11/12153632)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值