目次
PHP、phpunixでのUNIXタイムスタンプと日付の変換と計算の例
ホームページ バックエンド開発 PHPチュートリアル PHP での UNIX タイムスタンプと日付の変換と計算の例、phpunix_PHP チュートリアル

PHP での UNIX タイムスタンプと日付の変換と計算の例、phpunix_PHP チュートリアル

Jul 13, 2016 am 10:13 AM
php UNIX タイムスタンプ 日付 計算する 変換する

PHP、phpunixでのUNIXタイムスタンプと日付の変換と計算の例

UNIX タイムスタンプは、日付と時刻を保存するためのコンパクトで簡潔な方法です。これは、ほとんどの UNIX システムで現在の日付と時刻を保存する方法であり、ほとんどのコンピューター言語で日付と時刻を表すための標準形式です。グリニッジ標準時を 32 ビット整数として表します。たとえば、証明書 11230499325 を使用して現在時刻のタイムスタンプを表します。 UNIX タイムスタンプは、1970 年 1 月 1 日の午前 0 時 (UTC/GMT 午前 0 時) から現在時刻までの経過秒数です。 1970 年 1 月 1 日の 0 時がすべての日付計算の基礎となり、通常はこの日付が UNIX エポックになります。

UNIX タイムスタンプは 32 ビットの数値形式であるため、2 つの時点の間の日数を計算するなど、コンピューター処理に特に適しています。さらに、文化や地域の違いにより、時間形式やタイムゾーンの問題も異なります。したがって、UNIX タイムスタンプもタイムゾーンに従って標準化されるように設計されたユニバーサル形式であり、この形式は任意の形式に簡単に変換できます。また、UNIX タイムスタンプは 32 ビット証明書で表されるため、1902 年より前または 2038 年以降のイベントを処理するときにいくつかの問題が発生します。また、Windows ではタイムスタンプに負の値を指定できないため、PHP が提供するタイムスタンプ関数を使用して 1970 年より前の日付を処理するとエラーが発生します。 PHP コードを移植可能にするには、この点に留意する必要があります。

日付と時刻をUNIXタイムスタンプに変換します

PHP では、日付と時刻を UNIX タイムスタンプに変換する必要がある場合、mktime() 関数を呼び出すことができます。この関数のプロトタイプは次のようになります:

コードをコピーします コードは次のとおりです:

int mktime([int 時間 [,int 分[,int 秒[,int 月[,int 日[int 年]]]]]])

この関数のパラメータはすべてオプションです。パラメータが空の場合、デフォルトで現在時刻が UNIX タイムスタンプに変換されます。このように、time() 関数を直接呼び出して現在の UNIX タイムスタンプを取得するのと同じ機能があります。パラメータは右から左に省略することもでき、省略されたパラメータにはローカルの日付と時刻の現在の値が設定されます。日付のみを変換し、特定の時刻を気にしない場合は、最初の 3 つの変換時間パラメータを 0 に設定できます。 mktime() 関数は、日付の操作と検証に非常に役立ちます。これは自動的に修正できます。境界入力。以下に示すように:

コードをコピーします コードは次のとおりです:

echo date("Y-m-d",mktime(0,0,0,12,36,2008))."n"; //日付が 31 日を超えており、計算された出力は 2009-01-05 です
echo date("Y-m-d",mktime(0,0,0,14,1,2010))."n"; //月が 12 を超えているため、計算後の出力は 2011-02-01 になります
echo date("Y-m-d",mktime(0,0,0,1,1,2012))."n"; //問題なく変換され、結果は 2012-01-01 になります
echo date("Y-m-d",mktime(0,0,0,1,1,99))."n"; // 99 年を 1999 年、1990-01-01 に変換します
?>

英語テキストの日付と時刻の記述を UNIX タイムスタンプに直接解析する必要がある場合は、strtotime() 関数を使用できます。この関数の円は次のとおりです。

コードをコピーします コードは次のとおりです:
int strtotime(文字列時間[,int now])

関数 strtotime() は、英語の自然言語で Acura Time のタイムスタンプを作成できます。米国英語の日付形式を含む文字列を受け入れ、それを UNIX タイムスタンプ (1970 年 1 月 1 日 00:00:00 GMT 以降) に解析しようとします。 )、その値は、now パラメータで指定された時刻を基準としています。2 番目のパラメータが指定されていない場合は、現在のシステム時刻が使用されます。関数が正常に実行された場合はタイムスタンプを返し、それ以外の場合は FALSE を返します。 mktime() との比較は次のとおりです:

コードをコピーします コードは次のとおりです:
echo date("Y-m-d", strtotime("now")) //現在のタイムスタンプを出力します
echo date("Y-m-d", strtotime("2012 年 5 月 8 日")) //出力 2012-05-08
echo date("Y-m-d", strtotime("+1 day")) // 現在の日付に 1 日を加えたものを出力します
echo date("Y-m-d", strtotime("last monday")); //出力 2012-04-02
?>


次の例では、strtotime() 関数を使用して記念日カウントダウン プログラムを作成し、プロジェクト開発でこの関数を実際に応用する方法を紹介します。 サンプル コードは次のとおりです。

コードをコピーします

コードは次のとおりです:

$now =strtotime("now") // 現在時刻
; $endtime= strtotime("2014-08-18 08:08:08"); //卒業時刻を設定してタイムスタンプに変換します

$sec = $endtime-$now //卒業時刻から現在までのタイムスタンプ (秒数) を取得します
$year = Floor($sec/3600/24/365) //このタイムスタンプから年数を変換します

$temp =$sec-$year*365*24*3600 //このタイムスタンプから年全体の秒を削除し、月の秒だけを残します
; $month=floor($temp/3600/24/30); //このタイムスタンプから月数を変換します

$temp=$temp-$month*30*3600*24; //タイムスタンプから月全体の秒を削除し、その日の説明のみを残します
$day = Floor($temp/24/3600); //このタイムスタンプから残りの日数を変換します

$temp=$temp-$day*3600*24; //このタイムスタンプから 1 日分の秒を削除し、時の秒だけを残します
$hour = Floor($temp/3600); //このタイムスタンプから残りの時間を変換します

$temp=$temp- $hour*3600; //タイムスタンプから時の秒を削除し、分の秒だけを残します
$ minutes=floor($temp/60); // このタイムスタンプから残りの小数部分を変換します

$秒1=$temp-$分*60 //残りは秒だけです
;
echo "卒業までは、まだ ($year) 年 ($month) ($day) 日 ($hour) 時間 ($分) 分 ($秒 1) 秒あります。";
?>

注: 指定された年が 2 桁形式の場合、その値 0 ~ 69 は 2000 ~ 2069 年を意味し、70 ~ 100 は 1970 ~ 2000 年を意味します。

日付計算

PHP で 2 つの日付間の長さを計算する最も簡単な方法は、2 つの UNIX タイムスタンプ間の差を計算することです。たとえば、HTML フォームからユーザーの生年月日を受け取り、ユーザーの年齢を計算する PHP スクリプトです。以下に示すように:

コードをコピーします コードは次のとおりです:

//ユーザーがフォームから送信した生年月日を年月日を受け取ります
$年 = 1981;
$month = 11;
$day = 05;
$birthday = mktime(0,0,0,$month,$day,$year) //生年月日を UNIX タイムスタンプに変換します
$nowdate = time(); // time() 関数を呼び出して、現在の時刻の UNIX タイムスタンプを取得します
$ageunix = $nowdate -$birthday; // 2 つのタイムスタンプを減算して、ユーザーの年齢の UNIX タイムスタンプを取得します
$age = Floor($ageunix/3600/24/365); //UNIX タイムスタンプを 1 年の秒数で割って、ユーザーの年齢を取得します
echo "年齢: $age";

?>

上記のスクリプトでは、mktime() 関数を呼び出すとユーザーの生年月日が UNIX タイムスタンプに変換され、次に time() 関数を呼び出して現在の時刻の UNIX タイムスタンプを取得します。日付形式は整数で表現されるため、減算することができます。計算後に得られたUNIXタイムスタンプを年間の秒数で割って、UNIXタイムスタンプを年単位に変換します。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/914040.html技術記事 PHP での UNIX タイムスタンプと日付の変換と計算の例 phpunix UNIX タイムスタンプは、ほとんどの UNIX システムで現在の日付と...
を保存するためのコンパクトで簡潔な方法です。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

See all articles