目次
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 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ツイートするのに最適な 4 つの時間は何ですか?早朝にTikTokはおすすめですか? ツイートするのに最適な 4 つの時間は何ですか?早朝にTikTokはおすすめですか? Mar 07, 2024 pm 02:00 PM

ソーシャルメディアの急速な発展に伴い、Douyinは多くの人々が自分の生活を記録し、創造性を共有し、才能を披露するための人気のプラットフォームとなっています。 Douyin でより多くの露出とファンを獲得したいユーザーにとって、投稿する適切なタイミングを選択することは非常に重要です。結局のところ、時間帯によってユーザーのアクティビティや注目度には違いがあります。では、ツイートするのに最適な 4 つの時間は何でしょうか? 1. ツイートするのに最適な 4 つの時間は何ですか? Douyin ビデオを投稿する最適な時間を決定するときは、ユーザーのオンライン時間とアクティビティ レベルを考慮する必要があります。統計とユーザーの行動を分析することで、TikTok でより多くの露出を獲得し、より多くのファンを惹きつけるために、ビデオに最適な 4 つの期間を特定できます。午後8時から午後10時までは、多くの人にとって仕事や学校を終えた後の貴重な休憩時間です。

Golang の時間処理: Golang でタイムスタンプを文字列に変換する方法 Golang の時間処理: Golang でタイムスタンプを文字列に変換する方法 Feb 24, 2024 pm 10:42 PM

Golang の時間変換: タイムスタンプを文字列に変換する方法 Golang では、時間操作は非常に一般的な操作の 1 つです。表示や保存を容易にするために、タイムスタンプを文字列に変換する必要がある場合があります。この記事では、Golang を使用してタイムスタンプを文字列に変換する方法と、具体的なコード例を紹介します。 1. タイムスタンプと文字列の変換 Golang では、タイムスタンプは通常、1970 年 1 月 1 日から現在時刻までの秒数を表す整数の形式で表現されます。文字列は

現在のタイムスタンプに基づいてファイル/フォルダーを作成し、名前を付ける方法 現在のタイムスタンプに基づいてファイル/フォルダーを作成し、名前を付ける方法 Apr 27, 2023 pm 11:07 PM

システムのタイムスタンプに基づいてファイルやフォルダーを自動的に作成し、名前を付ける方法を探している場合は、ここが最適な場所です。このタスクを達成するための非常に簡単な方法があります。作成されたフォルダーまたはファイルは、ファイルのバックアップの保存、日付に基づいたファイルの並べ替えなど、さまざまな目的に使用できます。この記事では、Windows 11/10 でファイルとフォルダーを自動的に作成し、システムのタイムスタンプに基づいて名前を付ける方法を、非常に簡単な手順で説明します。使用される方法はバッチ スクリプトであり、非常に簡単です。この記事を楽しんで読んでいただければ幸いです。セクション 1: システムの現在のタイムスタンプに基づいてフォルダーを自動的に作成し、名前を付ける方法 ステップ 1: まず、フォルダーを作成する親フォルダーに移動します。

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 クラスはシステムに関連するいくつかのプロパティと操作をカプセル化する非常に重要なクラスです。その中でも、System クラスでよく使われるメソッドである currentTimeMillis メソッドについて、コード例を示しながら詳しく説明します。 1. currentTimeMillisメソッドの概要

Excelで日付から時間を削除する方法 Excelで日付から時間を削除する方法 May 17, 2023 am 11:22 AM

数値形式を使用して Excel の日付形式を変更する Excel で日付から時間を削除する最も簡単な方法は、数値形式を変更することです。これはタイムスタンプから時刻を削除するのではなく、セルに時刻が表示されなくなるだけです。これらのセルを計算に使用する場合、時刻と日付は引き続き含まれます。数値形式を使用して Excel の日付形式を変更するには: Excel スプレッドシートを開きます。タイムスタンプが含まれるセルを選択します。メイン メニューで、数値形式ボックスの最後にある下矢印を選択します。日付形式を選択します。形式を変更すると、セルに時間が表示されなくなります。いずれかのセルをクリックすると、時間形式が数式バーに表示されたままになります。セルの書式設定を使用する

タイムスタンプ取得のベスト プラクティス: Golang プログラミングの強力なツール タイムスタンプ取得のベスト プラクティス: Golang プログラミングの強力なツール Dec 29, 2023 am 08:28 AM

Golang プログラミング ツール: タイムスタンプ取得のベスト プラクティス はじめに: ソフトウェア開発では、タイムスタンプは非常に一般的な概念です。これは特定のイベントの発生を識別する数値であり、通常はある基準時点からのミリ秒またはナノ秒数を表します。 Golang では、タイムスタンプの処理は非常にシンプルかつ効率的です。この記事では、Golang でタイムスタンプを取得するためのベスト プラクティスを紹介し、具体的なコード例を示します。テキスト: 現在のタイムスタンプを取得する Golang では、現在のタイムスタンプを取得するのは非常に簡単です。我々はできる

PHP でのタイムスタンプの処理: strftime 関数を使用してタイムスタンプをローカライズされた日付時刻にフォーマットする方法 PHP でのタイムスタンプの処理: strftime 関数を使用してタイムスタンプをローカライズされた日付時刻にフォーマットする方法 Jul 30, 2023 am 09:15 AM

PHP でのタイムスタンプの処理: strftime 関数を使用してタイムスタンプをローカライズされた日付時刻にフォーマットする方法 PHP アプリケーションを開発するとき、多くの場合、日付と時刻を処理する必要があります。 PHP は強力な日付と時刻の処理関数を提供します。その中で strftime 関数を使用すると、タイムスタンプをローカライズされた日付と時刻にフォーマットできます。 strftime 関数の構文は次のとおりです: strftime(string$format[,int$timestamp=ti

See all articles