ホームページ >バックエンド開発 >PHPの問題 >PHPでタイムスタンプをフォーマットに変換する方法

PHPでタイムスタンプをフォーマットに変換する方法

藏色散人
藏色散人オリジナル
2021-12-17 09:36:473209ブラウズ

php でタイムスタンプ形式変換を実装する方法: 1. strtotime を通じて指定された日付の UNIX タイムスタンプを取得します; 2. date 関数を使用して、指定されたタイムスタンプをシステム時刻形式に変換します。

PHPでタイムスタンプをフォーマットに変換する方法

この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、Dell G3 コンピューター。

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

php でのタイムスタンプと日付形式の変換

1. PHP タイムスタンプ関数は、指定された日付の UNIX タイムスタンプを取得します。strtotime("2009-1- 22'') 例は次のとおりです。

echo strtotime(”2009-1-22″) 结果:1232553600

手順: 2009 年 1 月 22 日の 0:00:00 のタイムスタンプを返します。

2。英語のテキストの日付を取得するための PHP タイムスタンプ関数

比較のために、date を使用して現在のタイムスタンプと指定されたタイムスタンプをシステム時間に変換します

(1) 明日のこの時間のタイムスタンプを出力します。 strtotime(" 1 day) ”)

現在の時刻: echo date(”Y-m-d H:i:s”,time()) 結果: 2009-01-22 09:40:25

指定された時刻: echo date (”Y-m-d H:i :s”,strtotime(” 1 day”)) 結果: 2009-01-23 09:40:25

(2) 昨日のこの時刻のタイムスタンプを出力します。 strtotime(” -1 日”)

現在の時刻: echo date(”Y-m-d H:i:s”,time()) 結果: 2009-01-22 09:40:25

指定された時刻: echo date(”Y-m-d H :i:s”,strtotime(”-1 day”)) 結果: 2009-01-21 09:40:25

(3) この時刻のタイムスタンプを次に出力します。週 strtotime(” 1 週間 ”)

現在の時刻: echo date(”Y-m-d H:i:s”,time()) 結果: 2009-01-22 09:40:25

指定された時刻: echo date ("Y-m-d H:i:s",strtotime(" 1 week")) 結果: 2009-01-29 09:40:25

(4) この時点のタイムスタンプを出力します。先週の時刻 strtotime( "-1 週")

現在の時刻: echo date("Y-m-d H:i:s",time()) 結果: 2009-01-22 09:40:25

時刻の指定: echo date("Y-m-d H:i:s",strtotime("-1 year")) 結果: 2009-01-15 09:40:25

(5) 印刷指定した翌週の曜日 タイムスタンプ strtotime(”next Wednesday”)

現在時刻: echo date(”Y-m-d H:i:s”,time()) 結果: 2009-01-22 09:40 :25

時刻の指定: echo date("Y-m-d H:i:s",strtotime("next Wednesday")) 結果: 2009-01-29 00:00:00

( 6) 指定された先週のタイムスタンプを出力します。 strtotime("last Wednesday")

現在の時刻: echo date("Y-m-d H:i:s",time()) 結果: 2009-01-22 09: 40:25

時刻の指定: echo date("Y-m-d H:i:s",strtotime("last Wednesday")) 結果: 2009-01-15 00:00:00

上記の PHP タイムスタンプ関数 例からわかるように、strtotime は英語テキストの日付と時刻の記述を Unix タイムスタンプに解析できます。mktime() または date() を使用して日付と時刻をフォーマットし、指定されたタイムスタンプを取得します必要な日時を達成するために。

例:

<?php
//时间戳转日期
$date_time_array = getdate(1297845628); //1311177600  1316865566
$hours = $date_time_array["hours"];
$minutes = $date_time_array["minutes"];
$seconds = $date_time_array["seconds"];
$month = $date_time_array["mon"];
$day = $date_time_array["mday"];
$year = $date_time_array["year"];
 
echo "year:$year\nmonth:$month\nday:$day\nhour:$hours\nminutes:$minutes\nseconds:$seconds\n";
 
//正常日期转时间戳
echo mktime(0, 0, 0, 9, 18, 2011) . "\n";
echo mktime(0, 0, 0, 9, 25, 2011) . "\n";
 
//可以对此进行格式化
echo "time()显示年月日时分秒:" . date("Y-m-d H:i:s", time()) . "\n";
//这样连时,分秒一起显示
echo "time()只显示年月日:" . date("Y-m-d ", time()) . "\n"; //只年示年月日
 
echo "时间戳格式化:" . date("Y-m-d H:i:s", 1297845628) . "\n"; //直接使用时间戳
//把正常日期转成时间戳了,这里如果有时分秒也是同理,
$year=((int)substr("2008-12-04",0,4));//取得年份
$month=((int)substr("2008-12-04",5,2));//取得月份
$day=((int)substr("2008-12-04",8,2));//取得几号
echo mktime(0,0,0,$month,$day,$year);
 
?>

注意が必要な部分

f35d6e602fd7d0f0edfa6f7d103c1b57. PHP 時間には 2 つのタイプがあり、1 つはタイムスタンプ タイプ (1228348800)、2 番目は通常の日付形式 (2008-12-4)

2cc198a1d5eb0d3eb508d858c9f5cbdb PHP5.1 以降のタイムスタンプは実際の時刻と 8 時間異なります。解決策は次のとおりです。 1. 最後の簡単な方法は、php5.1 以降を使用しないことです。明らかに、これはお勧めできる方法ではありません。 ! !

2. php.ini を変更します。 php.ini を開き、date.timezone を検索します。先頭のセミコロン = を削除し、最後に Asia/Shanghai を追加します。Apache サーバーを再起動するだけです。欠点は、プログラムが他人のサーバーに配置されている場合、php.ini は実行できないことです。変更されるため、できることは何もありません。

3. プログラムに時刻初期化ステートメントを追加します: "date_default_timezone_set("Asia/Shanghai");" これはプログラマが任意に設定できるので、これをお勧めします。

タイムゾーン識別子、中国本土で利用可能な値は次のとおりです: 中国、アジア/重慶、アジア/上海、アジア/ウルムチ (順に中国、重慶、上海、ウルムチ)、etc/GMT-8、アジア/ハルビン

香港と台湾で利用可能:アジア/マカオ、アジア/香港、アジア/台北 (マカオ、香港、台北の順)

シンガポール:アジア/シンガポール

このようにして、出力は北京時間です。

推奨学習: 「

PHP ビデオ チュートリアル

以上がPHPでタイムスタンプをフォーマットに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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