例を使用したPHPの日付と時刻の関数

PHPの日付関数とは何ですか?

PHPの日付関数は、日付データ型の操作を簡素化する組み込み関数です。 PHPの日付関数は、日付または時刻を人間が読める形式にフォーマットするために使用されます。 記事が公開された日付を表示するために使用できます。 最後に更新されたデータをデータベースに記録します。

このチュートリアルでは、次のことを学びます-

PHPの日付の構文と例

PHPDate次の基本構文

<?php
date(format,[timestamp]);
?>

ここに、

  • 「date(…)」は、サーバー上の現在の時刻を返す関数です。
  • 「フォーマット」は、出力を次のようにする一般的なフォーマットです。
    • PHPの日付形式の「ymd」YYYY-MM-DD
    • 現在の年を表示する「Y」
    • 「「[timestamp]」はオプションです。 タイムスタンプが指定されていない場合、PHPはサーバー上のphpの現在の日時を使用します。

今年度を表示する基本的な例を見てみましょう。

<?php

echo date("Y");

?>

出力:


2018

タイムスタンプとは何ですか?

タイムスタンプは、現在の時刻と1の値の間の秒単位の数値です。st 1970年1月00:00:00グリニッジ標準時(GMT)。

時間関数によって返される値は、デフォルトのタイムゾーンによって異なります。

デフォルトのタイムゾーンはphp.iniファイルで設定されています。

また、date_default_timezone_set関数を使用してプログラムで設定することもできます。

以下のコードは、現在のタイムスタンプを表示します

<?php

echo time();

?>

ファイルtimestamp.phpをphptutsフォルダーに保存したとすると、次のURLを参照します。 http://localhost/phptuts/timestamp.php

注:タイムスタンプの値は定数ではありません。 毎秒変わります。

利用可能なタイムゾーン識別子のリストを取得する

プログラムでデフォルトのタイムゾーンを設定する方法を確認する前に、サポートされているタイムゾーンのリストを取得する方法を確認しましょう。

<?php

$timezone_identifiers = DateTimeZone::listIdentifiers();

foreach($timezone_identifiers as $key => $list){

echo $list . "<br/>";

}
?>

ここに、

  • 「$ timezone_identifiers = DateTimeZone :: listIdentifiers();」 クラスに組み込まれているDateandTimeZoneのlistIdentifiers静的メソッドを呼び出します。

    listIdentifiersメソッドは、変数$ timezone_identifiersに割り当てられている定数のリストを返します。

  • 「foreach {…}」は数値配列を反復処理し、値を出力します。

ファイルlist_time_zones.phpをphptutsフォルダーに保存したと仮定して、URLを参照します http://localhost/phptuts/list_time_zones.php

PHPはプログラムでタイムゾーンを設定します

date_default_timezone_set関数を使用すると、PHPスクリプトからデフォルトのタイムゾーンを設定できます。

設定されたタイムゾーンは、すべての日付php関数スクリプトで使用されます。 構文は次のとおりです。

<?php
date_default_timezone_set ( string $timezone_identifier );
?>

ここに、

  • 「date_default_timezone_set()」は、デフォルトのタイムゾーンを設定する関数です
  • 「文字列$ timezone_identifier」はタイムゾーン識別子です

以下のスクリプトは、php.iniで設定されたデフォルトのタイムゾーンに従って時間を表示します。

次に、デフォルトのタイムゾーンをアジア/カルカッタに変更し、時刻を再度表示します。

<?php
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");

date_default_timezone_set("Asia/Calcutta");
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");
?>

ファイルset_time_zone.phpをphptutsフォルダーに保存したと仮定して、URLを参照します。 http://localhost/phptuts/set_time_zone.php

PHPMktime関数

mktime関数は、タイムスタンプを Unix フォーマット。

構文は次のとおりです。

<?php
mktime(hour, minute, second, month, day, year, is_dst);
?>

ここに、

  • 「mktime(…)」は、makephpタイムスタンプ関数です。
  • 「時間」はオプションで、時間数です
  • 「分」はオプションで、分数です
  • 「秒」はオプションで、秒数です
  • 「月」はオプションで、月の数です
  • 「日」はオプションで、その日の数です
  • 「年」はオプションで、年の数です
  • 「is_dst」はオプションであり、夏時間(DST)を決定するために使用されます。 1はDSTの場合、0はそうでない場合、-1は不明の場合です。

ここで、mktime関数を使用して日付13/10/2025のタイムスタンプを作成する例を見てみましょう。

<?php

echo mktime(0,0,0,10,13,2025);

?>

ここに、

  • 「0,0,0」は、それぞれ時、分、秒です。
  • 「13」は月の日です
  • 「10」はその年の月です
  • 「2025」は年です

出力:


1760328000

PHP日付関数リファレンス

次の表は、datephp関数を使用するときに使用される一般的なパラメーターを示しています。

PHP時間パラメーター

パラメータ 説明
「r」 完全な日付と時刻を返します
<?php
echo date("r");
?>
「a」、「A」 現在の時刻がそれぞれ午前か午後か、午前か午後かを返します
<?php
echo date("a");
echo date("A");
?>
「g」、「G」 先行ゼロなしで時間を返します [1 to 12]、 [0 to 23] それぞれ
<?php
echo date("g"); 
echo date("G");
?>
「h」、「H」 先頭がゼロの時間を返します [01 to 12]、[00 to 23] それぞれ
<?php
echo date("h"); 
echo date("H");
?>
「i」、「s」 先行ゼロ付きの分/秒を返します [00 to 59]
<?php
echo date("i"); 
echo date("s");
?>

日パラメータ

パラメータ 説明
「d」 先頭にゼロが付いた日を返します [01 to 31]
<?php
echo date("d");
?>
「j」 先行ゼロなしで月の日を返します [1 to 31]
<?php
echo date("j");
?>
「D」 日の名前の最初の3文字を返します [Sub to Sat]
<?php
echo date("D");
?>
「l」 曜日の名前を返します [Sunday to Saturday]
<?php
echo date("l");
?>
「w」 先行ゼロなしで曜日を返します [0 to 6] 日曜日はゼロ(0)で表され、土曜日は6(6)で表されます。
<?php
echo date("w");
?>
「z」 先頭のスペースなしで年の日を返します [0 through to 365]
<?php
echo date("z");
?>

月のパラメータ

パラメータ 説明
「m」 先行ゼロ付きの月番号を返します [01 to 12]
<?php
echo date("m");
?>
「n」 先行ゼロなしで月番号を返します [01 to 12]
<?php
echo date("n");
?>
「M」 月名の最初の3文字を返します [Jan to Dec]
<?php
echo date("M");
?>
「F」 月の名前を返します [January to December]
<?php
echo date("F");
?>
「t」 1か月の日数を返します [28 to 31]
<?php
echo date("t");
?>

年パラメータ

パラメータ 説明
「L」 うるう年の場合は1を返し、うるう年でない場合は0を返します。
<?php
echo date("L");
?>
「Y」 4桁の年形式を返します
<?php
echo date("Y");
?>
「y」 2桁の年形式(00から99)を返します
<?php
echo date("y");
?>

概要

  • 日付関数は、タイムスタンプを人間が望む形式にフォーマットするために使用されます。
  • タイムスタンプは、現在の時刻と1の間の秒数です。st 1970年1月00:00:00GMT UNIXタイムスタンプとも呼ばれます。
  • すべての日付関数は、php.iniファイルで設定されたデフォルトのタイムゾーンを使用します
  • デフォルトのタイムゾーンは、PHPスクリプトを使用してプログラムで設定することもできます。

Hope this helps!

Source link