Php-date-and-time
PHP-日付と時刻
日付は日常生活の非常に重要な部分であるため、考えずに日付を使用することは簡単です。 PHPは、日付の操作を簡単にする日付計算用の強力なツールも提供します。
time()でタイムスタンプを取得する
PHPの* time()*関数は、現在の日付と時刻について必要なすべての情報を提供します。 引数は不要ですが、整数を返します。
time()によって返される整数は、1970年1月1日の午前0時から経過した秒数を表します。 この瞬間はUNIXエポックと呼ばれ、それから経過した秒数はタイムスタンプと呼ばれます。
<?php
print time();
?>
これは、次の結果を生成します-
1480930103
これは理解しにくいことです。 しかし、PHPはタイムスタンプを人間が快適な形式に変換するための優れたツールを提供します。
getdate()を使用してタイムスタンプを変換する
関数* getdate()*は、オプションでタイムスタンプを受け入れ、日付に関する情報を含む連想配列を返します。 タイムスタンプを省略すると、time()によって返される現在のタイムスタンプで機能します。
次の表に、getdate()によって返される配列に含まれる要素を示します。
Sr.No | Key & Description | Example |
---|---|---|
1 |
seconds 分を過ぎた秒(0〜59) |
20 |
2 |
minutes 時を過ぎた分(0-59) |
29 |
3 |
hours 1日の時間(0-23) |
22 |
4 |
mday 月の日(1-31) |
11 |
5 |
wday 曜日(0-6) |
4 |
6 |
mon 月(1〜12) |
7 |
7 |
year 年(4桁) |
1997 |
8 |
yday 年の日(0-365) |
19 |
9 |
weekday 曜日 |
Thursday |
10 |
month 月 |
January |
11 |
0 タイムスタンプ |
948370048 |
これで、日付と時刻を完全に制御できます。 この日付と時刻は、任意の形式でフォーマットできます。
例
次の例を試してください
<?php
$date_array = getdate();
foreach ( $date_array as $key => $val ){
print "$key = $val<br/>";
}
$formated_date = "Today's date: ";
$formated_date .= $date_array['mday'] . "/";
$formated_date .= $date_array['mon'] . "/";
$formated_date .= $date_array['year'];
print $formated_date;
?>
これにより、次の結果が生成されます–
seconds = 10
minutes = 29
hours = 9
mday = 5
wday = 1
mon = 12
year = 2016
yday = 339
weekday = Monday
month = December
0 = 1480930150
Today's date: 5/12/2016
date()を使用してタイムスタンプを変換する
- date()*関数は、日付を表すフォーマットされた文字列を返します。 渡さなければならない文字列引数を使用して、date()が返す形式を大量に制御できます。
date(format,timestamp)
date()は、省略された場合はオプションでタイムスタンプを受け入れ、現在の日付と時刻が使用されます。 date()に渡されるフォーマット文字列に含めるその他のデータは、戻り値に含まれます。
次の表は、フォーマット文字列に含めることができるコードを示しています-
Sr.No | Format & Description | Example |
---|---|---|
1 |
a 'am’または 'pm’小文字 |
pm |
2 |
A 「AM」または「PM」大文字 |
PM |
3 |
d 月の日、先行ゼロ付きの数字 |
20 |
4 |
D 曜日(3文字) |
Thu |
5 |
F 月名 |
January |
6 |
h 時間(12時間形式-先行ゼロ) |
12 |
7 |
H 時間(24時間形式-先行ゼロ) |
22 |
8 |
g 時間(12時間形式-先行ゼロなし) |
12 |
9 |
G 時間(24時間形式-先行ゼロなし) |
22 |
10 |
i 分(0-59) |
23 |
11 |
j 月の日(先行ゼロなし |
20 |
12 |
l (Lower 'L') 曜日 |
Thursday |
13 |
L うるう年(「はい」の場合は「1」、いいえの場合は「0」) |
1 |
14 |
m 月(数字-先行ゼロ) |
1 |
15 |
M 月(3文字) |
Jan |
16 |
r RFC 2822形式の日付 |
Thu, 21 Dec 2000 16:01:07 +0200 |
17 |
n 月(数字-先行ゼロなし) |
2 |
18 |
s 時間の秒 |
20 |
19 |
U タイムスタンプ |
948372444 |
20 |
y 年(2桁) |
06 |
21 |
Y 年(4桁) |
2006 |
22 |
z 年の日(0-365) |
206 |
23 |
Z GMTからの秒単位のオフセット |
+5 |
例
次の例を試してください
<?php
print date("m/d/y G.i:s<br>", time());
echo "<br>";
print "Today is ";
print date("j of F Y, \a\\t g.i a", time());
?>
これにより、次の結果が生成されます–
12/05/16 9:29:47
Today is 5 2016f December 2016 at 9:29 am
要件に応じて日付と時刻をフォーマットする方法を十分に理解してください。 参考までに、すべての日付と時刻の関数の完全なリストをリンクに示します:/php/php_date_time_functions [PHPの日付と時刻の関数。]