mysqlのdatetime型 など
/**
* mysqlのdatetime型のフィールドの値が
* 1970年 01月 01日 なら null
* それ以外は 文字列 yyyy-mm-dd
*/
function check_datetime_yyyymmdd($datetime)
{
$year = substr($datetime, 0, 4);
$month = substr($datetime, 5, 2);
$day = substr($datetime, 8, 2);
$hour = substr($datetime, 11, 2);
$minute = substr($datetime, 14, 2);
$second = substr($datetime, 17, 2);
if ($year == "1970" && $month == "01" && $day == "01") {
$time = null;
} else {
$time = sprintf("%4d年%02d月%02d日", $year, $month, $day);
}
return $time;
}
// $yesterday = date("Ymd", getDay(-1));
// $tomorrow = date("Ymd", getDay(1) );
// 現在の時刻から 指定した日付の取得
// 日付に 86400(1日) * ?日 で計算すればよい。
function getDay($day)
{
return mktime(date("H"), date("i"), date("s"), date("m"), date("d") + $day, date("Y"));
}
指定した年月日から曜日を得る
今日の年月日
$yr = date('Y',time()); // 西暦年…'Y'指定で2001などと表示
$mt = date('m',time()); // 月…'m'指定で02などと表示
$dy = date('j',time()); // 日…'j'指定で25などと表示
インスタンスの生成(コンストラクタの呼出し)
$get = new GetWeek($yr,$mt,$dy); // 現在年月
echo $get -> week_get(); //(関数を引数無しで呼び出す)
プロパティの呼出し
print("year = ".$get -> year."
\n");
print("month = ".$get -> month."
\n");
print("day = ".$get -> day."
\n");
class GetWeek {
// フィールド
var $year;
var $month;
var $day;
// コンストラクタ
function GetWeek($y, $m, $d)
{
$this -> year = $y;
$this -> month = $m;
$this -> day = $d;
}
// 関数
function week_get()
{
if ($this -> month <= 2) {
$this -> year-1;
$this -> month += 12;
}
// ツェラーの公式
$week_num = (($this -> year + floor($this -> year / 4) - floor($this -> year / 100) + floor($this -> year / 400) + floor((13 * $this -> month + 8) / 5) + $this -> day) % 7);
$week_logo = array('SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT');
return $week_logo[$week_num];
}
}