Php-date-and-time

提供:Dev Guides
移動先:案内検索

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の日付と時刻の関数。]