php カウントダウンを作成する

phpで、DateTimeを使用して、カウントダウンを作成するサンプルコードを記述してます。phpのバージョンは8.0です。
環境
- OS CentOS Stream release 8
- php 8.0.0
- nginx 1.14.1
カウントダウン作成
DateTimeのdiffを使用して、現在日時と指定した日付の差分を取得することで、カウントダウンを実装することが可能です。
以下は、実際にカウントダウンを表示するサンプルコードとなります。
<?php
// デフォルトタイムゾーンを設定
date_default_timezone_set("Asia/Tokyo");
// カウントダウンする日付
$datetime = new DateTime('2022/01/01 00:00:00');
// 現在日時
$current = new DateTime('now');
// 差分を取得する
$time = $current->diff($datetime);
// 表示
printf(
'あと %d年%dヶ月%d日 %d時間%d分%d秒',
$time->y,
$time->m,
$time->d,
$time->h,
$time->i,
$time->s,
$time->days
);
実行結果
あと 1年0ヶ月11日 12時間11分19秒
1秒ごとに表示される場合は、whileとsleepを使用します。
<?php
// デフォルトタイムゾーンを設定
date_default_timezone_set("Asia/Tokyo");
// カウントダウンする日付
$datetime = new DateTime('2022/01/01 00:00:00');
while (true) {
// 現在日時
$current = new DateTime('now');
// 差分を取得する
$time = $current->diff($datetime);
// 表示
printf(
'あと %d年%dヶ月%d日 %d時間%d分%d秒' . PHP_EOL,
$time->y,
$time->m,
$time->d,
$time->h,
$time->i,
$time->s,
$time->days
);
sleep(1);
}
実行結果

-
前の記事
VSCODE mysqlに接続する 2021.12.22
-
次の記事
SourceTree コミット前のファイル変更を元に戻す 2021.12.22
コメントを書く