PHPで日付の差(日数)を求める
PHPで日付の差(日数)を求めるサンプルプログラム。
日付が文字列で渡される場合、スマートな解決方法?
<?php
$date1 = "2012/10/10";
$date2 = "2012/11/15";
$daydiff = (strtotime($date2)-strtotime($date1))/(3600*24);
echo $daydiff;
?>
実行結果:
36
今日(本日)の日時からの日差を求める
(strtotime(date("Y-m-d H:i:s"))-strtotime("2012/11/15"))/(3600*24)
うーん、今日の日付のdate型の環境変数とかあったような・・・?
【解説】
strtotime
Unix タイムスタンプ (1970年1月1日 00:00:00 UTC からの経過秒数)を求める
つまり文字列日付をUnixタイムスタンプ秒に変換し差分を求め、1日の秒数(3600*24)で割り経過日数を求めている。
パソコンや開発、Linuxやデータベースのことなど
wwwありをwwwなしに
例えばtoyota.jpは、www.toyota.jpって入力してもtoyota.jpにリダイレクトされる。
SEO的にはこのように、www有りと無しを混在させるより、どちらかに統一した方がいいらしい。
Apacheのhttpd.confを設定できる場合の例
ServerName www.example.com
Redirect permanent / http://example.com/
ロリポップなど.httaccessに記載する場合
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com
RewriteRule (.*) http://example.com/$1 [R=301,L]
逆にwww無しをwww有りに
(amazon.co.jpなどはこのタイプ)
Apacheのhttpd.confを設定できる場合の例
ServerName example.com
Redirect permanent / http://www.example.com/
例えばtoyota.jpは、www.toyota.jpって入力してもtoyota.jpにリダイレクトされる。
SEO的にはこのように、www有りと無しを混在させるより、どちらかに統一した方がいいらしい。
Apacheのhttpd.confを設定できる場合の例
ServerName www.example.com
Redirect permanent / http://example.com/
ロリポップなど.httaccessに記載する場合
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com
RewriteRule (.*) http://example.com/$1 [R=301,L]
逆にwww無しをwww有りに
(amazon.co.jpなどはこのタイプ)
Apacheのhttpd.confを設定できる場合の例
ServerName example.com
Redirect permanent / http://www.example.com/
サブクエリ LEFT JOIN
サブクエリ(副クエリ)とLEFT JOIN(レフト ジョイン)のSQLサンプル
SELECT table1.*, count.count FROM table1 LEFT JOIN
(SELECT table1_id, count(table1_id) FROM table2 WHERE 条件 GROUP BY table2.table1_id) as count
ON table1.id = count.table1_id WHERE 条件 ORDER BY 条件 OFFSET 条件 LIMIT 条件
サブクエリ(副クエリ)とLEFT JOIN(レフト ジョイン)のSQLサンプル
SELECT table1.*, count.count FROM table1 LEFT JOIN
(SELECT table1_id, count(table1_id) FROM table2 WHERE 条件 GROUP BY table2.table1_id) as count
ON table1.id = count.table1_id WHERE 条件 ORDER BY 条件 OFFSET 条件 LIMIT 条件