PHP の日時

Jun 20, 2016 pm 12:51 PM

PHP には多数の組み込み関数が用意されているため、開発者は時間の管理が容易になり、作業効率が大幅に向上します。一般的な PHP の日付と時刻の関数と日付と時刻の処理をいくつか紹介します。


一般的に使用される日付と時刻の処理関数

time

函 数

说  明

checkdate

验证时间函数,判断时间是否有效,有效返回true,否则返回false

date_default_timezone_get

取得脚本日期时间函数所使用的默认时区

date_default_timezone_set

设定日期时间函数的默认时区

date

格式化一个本地时间/日期

getdate

获取日期/时间信息

gettimeofday

获取当前时间

localtime

获取本地时间

microtime

返回当前时间戳和微秒数

mktime

取得一个UNIX时间戳

strtotime

将任何英文文本的日期时间描述解析为UNIX时间戳

time

返回当前的UNIX时间戳

関数

説明

checkdate 時刻の確認関数、時間が有効かどうかを判断し、有効な場合は true を返し、そうでない場合は false を返します
date_default_timezone_get スクリプトの日付と時刻関数で使用されるデフォルトのタイムゾーンを取得します
date_default_timezone_set デフォルトを設定します日付と時刻の関数の場合 タイムゾーン
日付 現地の時刻/日付の形式
getdate 日時情報の取得
gettimeofday 現在時刻を取得
localtime td> 現地時間を取得します
microtime 現在のタイムスタンプを返し、マイクロ秒
mktime UNIX タイムスタンプを取得します
strtotime 英語テキストの日時記述を UNIX タイムスタンプに解析します
現在の UNIX タイムスタンプを返します


システムのタイムゾーン設定

学習の過程で、date() 関数で取得した時刻が異なることに気づきました。これは、PHP5 の date() 関数の書き換えによるもので、現在の日付と時刻関数はシステム時刻より 8 時間短くなります。 PHP 言語のデフォルト設定は標準グリニッジ時間です (つまり、ゼロ タイム ゾーンが使用されます)。 PHP 言語でタイムゾーン設定を変更するには、主に 2 つの方法があります:
1. php.ini ファイルの設定を変更し、[date] の下にある;date.timezone= オプションを見つけて、この項目を日付に変更します。 timezone= Asia/Hong_Kong に設定し、Apache サーバーを再起動します。
2. アプリケーションでは、時刻と日付関数を使用する前に次の関数を追加します。
date_default_timezone_set("Asia/Hong_Kong"); 設定が完了したら、date() 関数を追加します。通常通りに使用でき、時差ぼけの問題はなくなります。


UNIX タイムスタンプ

タイムスタンプは、ファイル属性の作成、変更、およびアクセス時刻です。デジタル タイム スタンプ サービス (DTS) は、電子ファイルの日時情報をセキュリティ保護できる Web サイトのセキュリティ サービスの 1 つです。

タイムスタンプは暗号化されたバウチャー文書であり、次の 3 つの部分で構成されます。
² タイムスタンプが必要なファイルは、ハッシュ エンコーディングで暗号化されてダイジェストが形成されます。
² DTS はファイルの日付と時刻の情報を受け入れます。
² 受け入れられた DTS ファイルを暗号化します。
デジタル時間は、DTS がファイルを受信した時刻に基づいて、認証ユニット DTS によって追加されます。タイムスタンプの動作原理は、時刻が変更されると、それに応じて時刻値を暗号化された値に変換することです。タイムスタンプの利点は、暗号化された値が変更されることで値の盗難や不正な再利用が防止されることであり、これも暗号化の役割を果たします。タイムスタンプは主に時間に依存し、合意された期間内に一意の値を生成します。


mktime() 関数

構文:
int mktime(int 時間, int 分、int 月、int 日、int 年、int [is_dst])

tr>

パラメータ

参  数

说  明

hour

小时数

minute

分钟数

second

秒数(一分钟之内)

month

月份数

day

天数

year

年份数

is_dst

参数is_dst在夏令时可以被设置为1,如果不是则设置为0;如果不确定是否为夏令时则设置为-1(默认值)

時間 時間
秒数(1分以内)
月番号​​
日番号
年番号
is_dst 夏時間中はパラメータ is_dst を 1 に設定でき、そうでない場合は -1 (デフォルト値) に設定できます。夏時間かどうかが不明な場合は
注: 有効なタイムスタンプの一般的な範囲は、1901 年 12 月 13 日 20:45:54 GMT から 2038 年 1 月 19 日 03:13:07 までです (この範囲は、32 ビット符号付き整数の最小値と最大値に準拠します) 。 Windows システムでは、この範囲は 1970 年 1 月 1 日から 2038 年 1 月 19 日までに制限されます。


date() 関数

date(string format,int timestamp)
この関数はパラメータを返しますタイムスタンプは、指定された形式に従って生成される文字列です。パラメータのタイムスタンプはオプションです。省略した場合は、現在の時刻が使用されます。 format パラメーターを使用すると、開発者は指定した形式で時刻と日付を出力できます。
date_default_timezone_set(PRC); //北京時間を設定します。

書式文字 説明 戻り値例
--- ---
d 日、先行ゼロ付き 2 桁 01 ~ 31
D 曜日、テキスト表現、3 文字 月から日
j その月の日、先頭にゼロはありません 1 ~ 31
l (「L」の小文字) その日週、完全なテキスト形式 日曜日から土曜日
N ISO-8601 形式の曜日の数値表現 曜日(PHP 5.1.0 で新たに追加されました) 1 (月曜日を意味します) ~ 7 (日曜日を意味します)
S Every 後の英語の接尾辞月の日、2 文字 st、nd、rd、または th。 j
w と組み合わせて使用​​できます。数字は 0 (日曜日を意味します) から 6 (土曜日を意味します) を表します。
z 通算日 0 ~ 365
曜日 --- ---
W 月曜日から始まる ISO-8601 形式の年の週番号 開始(PHP 4.1.0 の新機能) 例: 42 (年の第 42 週)
--- ---
F 月、1 月や 3 月などの完全なテキスト形式 1 月から 12 月
m 月の数値 (先行ゼロ付き) 01 ~ 12
M 3 文字月の省略形 1 月から 12 月まで
n 月の数値 (先行ゼロなし) 1 から 12
t 特定の月の日数 28 ~ 31
- -- ---
L 閏年かどうか 閏年の場合は 1、0それ以外の場合は、
o ISO-8601 形式の年番号。これは Y と同じ値ですが、ISO 週番号 (W) が前年または翌年に属している場合は、その年が使用されます。 (PHP 5.1.0 の新機能) 例: 1999 または 2003
Y 完全な 4 桁の年 例: 1999 または 2003
y 2 桁の年 例: 99 または 03
時刻 --- ---
a AM と PM の小文字の値 午前または午後
A 午前と午後の大文字の値 午前または午後
B インターネット標準時間の見本 000 ~ 999
g 時間、12 時間形式、先行ゼロなし 1 ~ 12
G 時間、24 時間形式、先行ゼロなし 0 ~ 23
h 時間、12 時間形式、先行ゼロ付き 01 ~ 12
H 時間、24 時間形式、先行ゼロ付き 00 ~ 23
i 分先行ゼロ付き 00 ~ 59>
s 秒 (先頭にゼロあり) 00 ~ 59>
u ミリ秒 (PHP 5.2.2 の新機能)。 date() 関数は整数パラメーターのみを受け入れ、DateTime::format() はミリ秒のみをサポートするため、常に 000000 を返すことに注意してください。 例: 654321
タイムゾーン --- ---
e タイムゾーン識別子 (PHP 5.1.0 の新機能) 例: UTC、GMT、大西洋/アゾレス諸島
I 夏時間かどうか 夏時間の場合は 1、それ以外の場合は 0
O グリニッジからの時間平均時間数値 例: +0200
P 時と分をコロンで区切ったグリニッジ標準時 (GMT) との差( PHP 5.1.3 で新規追加) 例: +02:00
T このマシンが位置するタイムゾーン 例: EST、MDT ([翻訳者注] Windows では「東部標準時」などの完全なテキスト形式ですが、中国語版では「中国標準時」と表示されます)。
Z 秒単位の時差オフセット。UTC より西のタイム ゾーン オフセットは常に負であり、UTC より東のタイム ゾーン オフセットは常に正です。 -43200 ~ 43200
完全な日付/時刻 --- ---
c ISO 8601 形式の日付 (PHP 5 の新機能) 2004-02-12T15:19:21+00:00
r RFC 822 形式の日付 例: Thu, 21 Dec 2000 16:01:07 +0200
U Unix エポック (1970 年 1 月 1 日 00:00:00 GMT) からの秒数 時刻を参照()

getdate() 関数

この関数は、日付と時刻の情報を配列形式で返します。タイムスタンプがない場合は、現在の時刻が優先されます。

元  素

说  明

seconds

秒,返回值0~59

minutes

分钟,返回值为0~59

hours

小时,返回值为0~23

mday

月份中第几天,返回值为1~31

wday

星期中第几天,返回值为0(星期天)~6(星期六)

mon

月份数字,返回值为1~12

year

4位数字表示的完整年份,返回值加2000或2008

yday

一年中第几天,返回值0~365

weekday

星期几的完整文本表示,返回值为Sunday~Saturday

month

月份的完整文本表示,返回值为January~December

0

返回从UNIX纪元开始的秒数

要素

説明





秒、戻り値 0~59




    <!doctype html>      <html>      <head>      <meta charset="utf-8">      <title>无标题文档</title>      </head>            <body>      <?php          // 设置时区          date_default_timezone_set('Asia/Chongqing');                    // 指定时间到UNIX纪元的差值          echo mktime(1, 2, 3, 4, 5, 2006)."<br>";                    // 当前时间到UNIX纪元的差值          echo time()."<br>";                    // 格式化时间          echo date("Y-m-d H-i-s")."<br>";                    // 时间数组          $arrays = getdate();          print_r($arrays)."<br>";                    // 检测时间          var_dump( checkdate(7, 9, 2015) );                    "<br>";                    // 本地化时间戳,strtotime还可用于时间的大小比较          setlocale(LC_TIME, 0);          echo strftime('%Y,%m,%d', strtotime('2000-04-00'))."<br>";                    // 微妙          echo microtime(true);                        function run_time()          {              list($msec, $sec) = explode(" ", microtime());              return ((float)$msec + (float)$sec);          }                    $start_time = run_time();          $time1 = strtotime(date( "Y-m-d H:i:s"));          $time2 = strtotime("2008-2-3 17:10:00");          $time3 = strtotime("2008-8-8");          $sub1 = ceil(($time2 - $time1) / 3600);          //60 * 60          $sub2 = ceil(($time3 - $time1) / 86400);         //60 * 60 * 24          echo "离放假还有<font color=red> $sub1 </font>小时!!!" ;           echo "<p>";          echo "离北京奥运开幕还有<font color=red>$sub2 </font>天!!!";          $end_time = run_time();          echo '耗时'.($end_time - $start_time);          ?>      </body>      </html>  
ログイン後にコピー
分、戻り値は 0~59
時間 時間、戻り値は 0~23 です。 mday 日、戻り値は 1 ~ 31 wday 曜日、戻り値は0(日曜日)~6(土曜) mon 月番号​​、戻り値は 1~12 年 4 桁で表される完全な年、戻り値に 2000 または 2008 を加えたもの yday 通算日、戻り値 0~365 平日 曜日の完全なテキスト表現、戻り値は日曜日〜土曜日です 月 月の完全なテキスト表現。1 月から 12 月までとして返されます。 0 UNIX エポックから返される 開始秒 2 倍の大きさを比較 でよく発生します実際の開発 2 つの時間の大きさを決定するために、PHP では時間を直接比較することはできません。したがって、まず時刻をタイムスタンプ形式で出力してから比較する必要があります。これが一般的に使用される方法です。 この機能を実現できる関数は 2 つあり、ここでは strtotime() 関数が使用されており、英語のテキストの日付と時刻の記述を UNIX タイムスタンプに解析できます。 この関数の構文は次のとおりです: int strtotime(string time, int now) この関数には 2 つのパラメータがあります。パラメータ time の形式が絶対時間の場合、now パラメータは効果がありません。パラメータ time の形式が相対時間の場合、パラメータ now が指定されていない場合は、対応する時間が提供されます。対応する時刻は現在時刻です。解析が失敗した場合は、-1 が返されます。 ページ スクリプトの実行時間を計算します。 ウェブサイトでは、検索エンジンが頻繁に使用され、情報を検索するときに、注意深いユーザーは検索結果の下部に「検索時間は...秒」という文字が表示されることがよくあります。ここでは microtime() 関数が使用されており、現在の UNIX タイムスタンプとマイクロ秒を返します。 msec sec 形式の文字列を返します。ここで、sec は現在の UNIX タイムスタンプ、msec はマイクロ秒数です。この関数の形式は次のとおりです: string microtime(void) 出典: http://blog.csdn.net/aoshilang2249/article/details/46822105
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

11ベストPHP URLショートナースクリプト(無料およびプレミアム) 11ベストPHP URLショートナースクリプト(無料およびプレミアム) Mar 03, 2025 am 10:49 AM

多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

Instagram APIの紹介 Instagram APIの紹介 Mar 02, 2025 am 09:32 AM

2012年のFacebookによる有名な買収に続いて、Instagramはサードパーティの使用のために2セットのAPIを採用しました。これらはInstagramグラフAPIとInstagram Basic Display APIです。

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

LaravelのバックエンドでReactアプリを構築する:パート2、React LaravelのバックエンドでReactアプリを構築する:パート2、React Mar 04, 2025 am 09:33 AM

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP状況調査の発表 2025 PHP状況調査の発表 Mar 03, 2025 pm 04:20 PM

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています

See all articles