目錄
PHP获取指定时间段之间的 年,月,天,时,分,秒,php获取
首頁 php教程 php手册 PHP获取指定时间段之间的 年,月,天,时,分,秒,php获取

PHP获取指定时间段之间的 年,月,天,时,分,秒,php获取

Jun 13, 2016 am 08:38 AM
時間戳 時段

PHP获取指定时间段之间的 年,月,天,时,分,秒,php获取

核心代码:

Class Utils {
     /**
	 * format MySQL DateTime (YYYY-MM-DD hh:mm:ss) 把mysql中查找出来的数据格式转换成时间秒数
	 * @param string $datetime
	 */
	public function fmDatetime($datetime) {
	  $year = substr($datetime,0,4);
	  $month = substr($datetime,5,2);
	  $day = substr($datetime,8,2);
	  $hour = substr($datetime,11,2);
	  $min = substr($datetime,14,2);
	  $sec = substr($datetime,17,2);
	  return mktime($hour,$min,$sec,$month,$day,0+$year);
	}
	/**
	 * 
	 * 根据俩个时间获取俩个时间的 包含的 年,月数,天数,小时,分钟,秒
	 * @param String $start
	 * @param String $end
	 * @return ArrayObject 
	 */
	 private function diffDateTime($DateStart,$DateEnd){
		$rs = array();
		
		$sYear = substr($DateStart,0,4);
		$eYear = substr($DateEnd,0,4);
		
		$sMonth = substr($DateStart,5,2);
		$eMonth = substr($DateEnd,5,2);
		
		$sDay = substr($DateStart,8,2);
		$eDay = substr($DateEnd,8,2);
		
		$startTime = $this->fmDatetime($DateStart);
		$endTime = $this->fmDatetime($DateEnd);
		$dis = $endTime-$startTime;//得到俩个时间的秒数
		$d = ceil($dis/(24*60*60));//得到天数
		$rs['day'] = $d;//天数
		$rs['hour'] = ceil($dis/(60*60));//小时
		$rs['minute'] = ceil($dis/60);//分钟
		$rs['second'] = $dis;//秒数
		$rs['week'] = ceil($d/7);//周
		
		$tem = ($eYear-$sYear)*12;//月份
		$tem1 = $eYear-$sYear;//年
		if($eMonth-$sMonth<0){//月份相减为负
			$tem +=($eMonth-$sMonth);
		}else if($eMonth==$sMonth){//月份相同
			if($eDay-$sDay>=0){
				$tem ++;
				$tem1++;
			}
		}else if($eMonth-$sMonth>0){//月份相减正负
			$tem1++;
			if($eDay-$sDay>=0){//且日期相减为正数
				$tem +=($eMonth-$sMonth)+1;
			}else{
				$tem +=($eMonth-$sMonth);
			}
		}
		$rs['month'] = $tem;
		$rs['year'] = $tem1;
		
		return $rs;
	}
}

登入後複製

一年多一天,返回的是2年,一个月多一天返回的是2个月,以此推......项目需要,才做此出来,开始我也到网上找这样的例子,但大家都是把年就按365天来算,月就按30天来算,这样算出来的结果肯定是没用的,年有可能是366天,月有可能是31,29,28都有可能

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1670
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1274
29
C# 教程
1256
24
Golang時間處理:如何在Golang中將時間戳轉換為字串 Golang時間處理:如何在Golang中將時間戳轉換為字串 Feb 24, 2024 pm 10:42 PM

Golang時間轉換:如何將時間戳轉換為字串在Golang中,時間操作是非常常見的操作之一。有時候我們需要將時間戳記轉換為字串,以便於展示或儲存。本文將介紹如何使用Golang將時間戳轉換為字串,並提供具體的程式碼範例。 1.時間戳和字串的轉換在Golang中,時間戳通常是以整數數字的形式表示的,表示的是從1970年1月1日至當前時間的秒數。而字串則

發抖音的4個最佳時段是什麼時候?凌晨發抖音會被推薦嗎? 發抖音的4個最佳時段是什麼時候?凌晨發抖音會被推薦嗎? Mar 07, 2024 pm 02:00 PM

隨著社群媒體的快速發展,抖音成為了許多人記錄生活、分享創意和展現才華的熱門平台。對於想要在抖音上獲得更多曝光和粉絲的用戶來說,選擇合適的發佈時間是至關重要的。畢竟,不同時段的用戶活躍度和關注度是有差異的。那麼,發抖音的4個最佳時段是什麼時候呢?一、發抖音的4個最佳時段是什麼時候?在確定發布抖音影片的最佳時機時,需要綜合考慮用戶的線上時間和活躍度。透過分析統計數據和用戶行為,可以確定四個最佳時間段,讓您的影片在抖音上獲得更多曝光和吸引更多粉絲。晚上8點至10點是許多人下班或放學後的寶貴休

如何根據當前時間戳記建立文件/資料夾並為其命名 如何根據當前時間戳記建立文件/資料夾並為其命名 Apr 27, 2023 pm 11:07 PM

如果您正在尋找根據系統時間戳記自動建立文件和資料夾並為其命名的方法,那麼您來對地方了。有一個超級簡單的方法可以用來完成這項任務。然後,建立的資料夾或檔案可用於各種目的,例如儲存檔案備份、根據日期對檔案進行排序等。在本文中,我們將透過一些非常簡單的步驟來解釋如何在Windows11/10中自動建立檔案和資料夾,並根據系統的時間戳記對其進行命名。使用的方法是批次腳本,非常簡單。希望你喜歡閱讀這篇文章。第1節:如何根據系統目前時間戳記自動建立資料夾並命名第1步:首先,導覽至要在其中建立資料夾的父資料夾,

如何從Excel中的日期中刪除時間 如何從Excel中的日期中刪除時間 May 17, 2023 am 11:22 AM

使用數字格式更改Excel中的日期格式在Excel中從日期中刪除時間的最簡單方法是更改​​數字格式。這不會從時間戳中刪除時間——它只是阻止它在您的單元格中顯示。如果您在計算中使用這些儲存格,時間和日期仍然包括在內。若要使用數字格式變更Excel中的日期格式:開啟您的Excel電子表格。選擇包含您的時間戳記的儲存格。在主選單中,選擇數字格式框末端的向下箭頭。選擇一種日期格式。更改格式後,時間將停止出現在您的儲存格中。如果您按一下其中一個儲存格,則時間格式在編輯欄中仍然可見。使用單元格格式更

PHP中的時間戳處理:如何使用strftime函數格式化時間戳記為本地化的日期時間 PHP中的時間戳處理:如何使用strftime函數格式化時間戳記為本地化的日期時間 Jul 30, 2023 am 09:15 AM

PHP中的時間戳處理:如何使用strftime函數格式化時間戳記為本地化的日期時間在開發PHP應用程式時,我們經常需要處理日期和時間。 PHP提供了強大的日期和時間處理函數,其中strftime函數允許我們將時間戳格式化為本地化的日期時間。 strftime函數具有以下語法:strftime(string$format[,int$timestamp=ti

如何在 Go 中使用正規表示式匹配時間戳記? 如何在 Go 中使用正規表示式匹配時間戳記? Jun 02, 2024 am 09:00 AM

在Go中,可以使用正規表示式比對時間戳記:編譯正規表示式字串,例如用於匹配ISO8601時間戳記的表達式:^\d{4}-\d{2}-\d{2}T \d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ 。使用regexp.MatchString函數檢查字串是否與正規表示式相符。

Java文件解讀:System類別的currentTimeMillis()方法用法解析 Java文件解讀:System類別的currentTimeMillis()方法用法解析 Nov 03, 2023 am 09:30 AM

Java文件解讀:System類的currentTimeMillis()方法用法解析,需要具體程式碼範例在Java程式設計中,System類是一個非常重要的類,其封裝了與系統相關的一些屬性和操作。其中,currentTimeMillis方法是System類別中非常常用的方法,本文將對此方法做詳細解讀並提供程式碼範例。一.currentTimeMillis方法概述

時間戳獲取的最佳實踐:Golang程式設計中的強大工具 時間戳獲取的最佳實踐:Golang程式設計中的強大工具 Dec 29, 2023 am 08:28 AM

Golang程式利器:時間戳獲取的最佳實踐引言:在軟體開發中,時間戳記是一個非常常見的概念。它是一個標識特定事件發生的數字值,通常表示自從某個參考時間點開始的毫秒數或奈秒數。在Golang中,處理時間戳的操作非常簡單且有效率。本文將介紹Golang中獲取時間戳的最佳實踐,並提供具體的程式碼範例。內文:取得目前時間戳在Golang中,取得目前時間戳非常簡單。我們可以

See all articles