ホームページ  >  記事  >  バックエンド開発  >  PHPでタイムスタンプを時刻形式に変換するにはどうすればよいですか?

PHPでタイムスタンプを時刻形式に変換するにはどうすればよいですか?

青灯夜游
青灯夜游オリジナル
2020-11-05 10:26:232824ブラウズ

PHP では、date() 関数を使用してタイムスタンプを時刻形式に変換できます。この関数により、タイムスタンプをより読みやすい日付と時刻に変換できます。構文形式は "date(" timeスタンプの出力形式は「,timestamp)」、たとえば「date("Y-m-d H:i:s",timestamp)」です。

PHPでタイムスタンプを時刻形式に変換するにはどうすればよいですか?

推奨: 「PHP ビデオ チュートリアル

日時をコンピュータに保存すると、次のことができます。 UNIX タイムスタンプを標準形式として使用します。ただし、UNIX タイムスタンプの可読性は非常に低いため、場合によっては、UNIX タイムスタンプをより可読な時刻と日付にフォーマットしたり、他のソフトウェアで必要なフォーマットにフォーマットしたりする必要があります。

PHP では、date() 関数を使用して、タイムスタンプを読みやすい日付と時刻にフォーマットできます。

この関数の構文形式は次のとおりです:

date($format [,$timestamp])

パラメータ:

  • 形式は必須です。タイムスタンプの形式を指定します。

  • タイムスタンプ オプション。タイムスタンプを指定します。デフォルトは現在の日付と時刻です。

Parameter $format フォーマット文字列で認識できる特殊文字は、次の表に示すとおりです。

#フォーマット文字説明戻り値の例d日は 2 桁で表されます。2 桁に満たない場合は、0D に加算します。月の曜日の英語略称(3文字を使用)Mon to Sunj1##l (小文字の「L」)曜日の英単語Sunday to SaturdayNISO-8601 標準形式に従って、数字を使用して曜日を表します。週の真ん中 日数 (PHP5.1.0 で新たに追加) 1 (月曜日の意味) ~ 7 (日曜日の意味) SEvery month 日数の後の英語の接尾語 (2 文字で表されます) st、nd、rd、または th。j##WISO-8601 標準形式に従って、次を使用します。月曜日から始まる各週の年間の週を表す数値 (PHP 4.1.0 の新機能) 例: 42 (年間の 42 週目)#月FmMMnt##年---L指定した年がうるう年かどうかうるう年の場合は値は1、それ以外の場合は0oISO-8601 標準に準拠 この形式では数値を使用して年を表します。これは Y (PHP 5.1.0 の新機能) 1999 または 2019 と同じ効果があります。 4 を使用します。1 桁で完全な年を表します。年を表すには 2 桁を使用します。Time#小文字の AM と PM の値am または pmAM または PM000 ~ 9991 ~ 120 ~ 23
--- ---
#01 を 31
先行ゼロのない日 31
w 数値を使用して曜日を表します 0 (日曜日) ~ 6 (土曜日)
z 数字を使用して年間の日を表します 0 ~ 365
Week --- ---
--- ---
月を英語で表すと、1 月や 6 月など 1 月から 12 月まで
現在の月を表すには 2 桁を使用します 01 から 12 月まで12
月の英語の略称 Jan から 12 月まで
現在の月を表すには数字を使用します 1 ~ 12
月の日数を指定します 28 ~ 31
---
#Y
例: 1999 または 2019 y
例: 99 または 03
#------ a
##A 大文字の AM と PM の値
B Swatch インターネット標準時間
g 時間を表すには 12 時間形式を使用します
G 時間を表すには 24 時間形式を使用します
h 使用 12 小时格式表示小时数,有前导零 01 到 12
H 使用 24 小时格式表示小时数,有前导零 00 到 23
i 使用两位数字表示分钟数,有前导零 00 到 59>
s 使用两位数字表示秒数,有前导零 00 到 59>
u 毫秒(PHP 5.2.2 新增)。需要注意的是 date() 函数总是返回 000000,因为它只接受 integer 参数,而 DateTime::format() 才支持毫秒 例如:654321
时区 --- ---
e 时区标识 例如:UTC、GMT、Atlantic/Azores
I(大写的“i”) 是否为夏令时 夏令时为 1,否则为 0
O 与格林尼治时间相差的小时数 例如:+0200
P 与格林尼治时间(GMT)的差别,小时和分钟之间由冒号分隔 例如:+02:00
T 本机所在的时区 例如:EST、MDT(在 windows 下为完整文本格式,例如“Eastern Standard Time”,中文版会显示“中国标准时间”)
Z 时差偏移量的秒数,UTC 西边的时区偏移量总是负的,UTC 东边的的时区偏移量总是正的 -43200 到 43200
完整的日期/时间 --- ---
c ISO-8601 格式的日期 2014-02-12T15:19:21+00:00
r RFC 822 格式的日期 例如:Thu,21 Dec 2000 16:01:07 +0200
U 从 UNIX 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数 和 time() 返回相同的时间戳

提示:特殊字符中不能被识别的字符将原样显示,Z 字符在使用 gmdate() 函数时总是返回 0。

示例1:

<?php
echo date("Y-m-d H:i:s","1256112010")."<br>";
echo date(&#39;l dS \\\\\\\\\\\\\\\\of F Y h:i:s A&#39;,"1220976000")."<br>";
echo date("Y/m/d H:i:s","1604629565")."<br>";
echo date("Y.m.d H:i:s","1604545871");
?>

输出:

2009-10-21 16:00:10
Wednesday 10th of September 2008 12:00:00 AM
2020/11/06 10:26:05
2020.11.05 11:11:11

示例2:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);
// 设定要用的时区
date_default_timezone_set(&#39;PRC&#39;);
// 输出类似Monday
echo date("l");
echo "<br/>";
// 输出类似Monday 15th of August 2005 03:12:46 PM
echo date(&#39;l dS \\\\\\\\\\\\\\\\of F Y h:i:s A&#39;);
echo "<br/>";
// 输出July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l");
echo "<br/>";
/* 在格式参数中使用常量 */
// 输出类似Wed, 25 Sep 2013 15:28:57 -0700
echo date(DATE_RFC2822);
echo "<br/>";
// 输出类似2000-07-01T00:00:00+00:00
echo date(DATE_ATOM);
echo "<br/>";
//输出类似2000-07-01 14:00:00
echo date(&#39;Y-m-d H:i:s&#39;).&#39;<br>&#39;;
$time = time();
echo &#39;是一周中的第 &#39;.date(&#39;w&#39;, $time).&#39; 天<br>&#39;;
echo &#39;今年是:&#39;;
date(&#39;L&#39;, $time)? print(&#39;闰年&#39;):print(&#39;平年&#39;);
?>

输出:

Thursday
Thursday 05th of November 2020 10:32:44 AM
July 1, 2000 is on a Thursday
Thu, 05 Nov 2020 10:32:44 +0800
2020-11-05T10:32:44+08:00
2020-11-05 10:32:44
是一周中的第 4 天
今年是:闰年

更多编程相关知识,请访问:编程教学!!

以上がPHPでタイムスタンプを時刻形式に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。