【PHP】URLからサーバー名、パラメーター取得(parse_url)
URLPHPでは、サーバーや実行環境に関する情報を取得することができます。$_SERVERPHPにはスーパーグローバル変数というものがあり、「$_SERVER」変数を使うことで必要な情報を取得できます。この「$_SERVER」にはサーバーの様々な情報が連想配列として格納されており、インデックスを指定することで情報が確認できます。今回は、お役立ちBlogのhttps://以下のドメイン名を取得して表
Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!
フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。
PHPで時間や日付を取得する、日付関数と日付の比較について解説していきます。
time関数は、現在のUNIXのタイムスタンプを返します。
time()
この関数を実行すると、現在時刻をUNIXエポック(1970年1月1日 00:00:00 GMT)からの通算秒として返します。
このままだと数字が羅列された結果が返ってきてしまうので、後述するdate関数などと組み合わせて使います。
日付を取得するためには、date関数を使用します。
date(フォーマット, タイムスタンプ)
ここで先述したtime関数で取得できるUNIXタイムスタンプを第2引数に指定することで、現在日時を取得することができます。
<?php
$timestamp = time();
echo date("Y/m/d", $timestamp);
?>
2020/09/25
また、第2引数は省略することもできるので、タイムスタンプは必ず取得する必要はありません。
指定した日時を取得するには、strtotime関数を使用します。
例として、今日から4日後の日付を出力してみます。
<?php
$today = strtotime(date("Y/m/d 00:00:00"));
echo strtotime("+4 day", $today);
?>
2020/09/29 00:00:00
他にも週や曜日単位での指定も可能です。
<?php
$today = strtotime(date("Y/m/d 00:00:00"));
echo strtotime("now", $today); // 今日
echo strtotime("10 September 2000", $today); // 2000年9月10日
echo strtotime("+1 day", $today); // 1日後
echo strtotime("+1 week", $today); // 1週間後
echo strtotime("+1 week 2 days 4 hours 2 seconds", $today); // 1週間と2日、4時間2分後
echo strtotime("next Thursday", $today); // 次の木曜日
echo strtotime("last Monday", $today); // 先週の月曜日
?>
date_default_timezone_set関数は、スクリプト中の日付/時刻関数で使用されるタイムゾーンを設定することができます。
date_default_timezone_set(タイムゾーンID)
この関数を使うことで、世界中のタイムゾーンを指定して時間を出力することができます。
それでは、日本とアメリカの現在日時を出力してみます。
<?php
//タイムゾーンを日本の時間に設定
date_default_timezone_set("Asia/Tokyo");
echo date("Y年m月d日H時i分s秒")."<br>";
//タイムゾーンをアメリカの時間に設定
date_default_timezone_set("America/Los_Angeles");
echo date("Y年m月d日H時i分s秒");
?>
2020年09月25日16時10分23秒
2020年09月25日00時10分23秒
日本とアメリカでは時差が16時間あるので、それぞれの現地時間が出力できていることがわかります。
数値の比較同様、日付も比較して処理の分岐をすることができます。
<?php
$today = date("Y/m/d"); // 現在日時は2020年9月25日
$target_day = "2020/04/10";
if(strtotime($today) === strtotime($target_day)) {
echo "ターゲット日付は今日です";
} else if(strtotime($today) > strtotime($target_day)) {
echo "ターゲット日付は過去です";
} else {
echo "ターゲット日付は未来です";
}
?>
ターゲット日付は過去です
日付関数と日付の比較についてまとめてみました。
日付処理は動的サイトの開発において必要になってくるので、基本的な関数や処理は抑えておくとよいでしょう。
そのような方はぜひ、Workteriaサイトをご利用ください!
定期的にご本人に合う高額案件を紹介
リモートワークなど自由な働き方ができる案件多数
専属エージェントが契約や請求をトータルサポート
URLPHPでは、サーバーや実行環境に関する情報を取得することができます。$_SERVERPHPにはスーパーグローバル変数というものがあり、「$_SERVER」変数を使うことで必要な情報を取得できます。この「$_SERVER」にはサーバーの様々な情報が連想配列として格納されており、インデックスを指定することで情報が確認できます。今回は、お役立ちBlogのhttps://以下のドメイン名を取得して表
ファイル操作PHPではファイルの読み込みや、ファイルへの書き込みを行う関数が用意されています。ここでは、ファイル操作を行うための関数を解説していきます。fopenfopen関数とは、ファイルまたはURLをオープンしてくれる関数です。あるデータからファイルにデータの情報を読み込ませたり、ファイルの内容にデータ情報を書き込みする際など、ファイルを指定して、指定したファイルを開く(持ってくる)ための関数