日付作成・グッズメモ アフィリエイト

グッズメモ アフィリエイト・WordPressプラグインのソースコード記事の目次WordPress

DateComparison.php


namespace goodsmemo\date;

use goodsmemo\exception\TimeException;

require_once GOODS_MEMO_DIR . "exception/TimeException.php";

/**
 * Description of DateComparison
 *
 * @author Goods Memo
 */
class DateComparison {

    public static function isDuringThePeriod($startTimeText, $endTimeText, float $targetUnixTimeMillSecond): bool {

	date_default_timezone_set('Asia/Tokyo');

	$startTime = strtotime($startTimeText); //strtotime(日時) 戻り値はint //var_dump($startTimeText);var_dump($startTime);
	if ($startTime === false) {
	    throw new TimeException("無効な開始時刻文字列:" . $startTimeText);
	}

	$endTime = strtotime($endTimeText); //var_dump($endTimeText);var_dump($endTime);
	if ($endTime === false) {
	    throw new TimeException("無効な終了時刻文字列:" . $endTimeText);
	}

	$targetTime = (int) $targetUnixTimeMillSecond; //var_dump($targetUnixTimeMillSecond);var_dump($targetTime);
	//対象時刻は、開始時刻と終了時刻の期間内か?
	if (($startTime <= $targetTime) && ($targetTime <= $endTime)) {
	    return true;
	} else {
	    return false;
	}
    }

}

DateTextMaking.php

日付文字列を作成します。


namespace goodsmemo\date;

/**
 * Description of DateTextMaking
 *
 * @author Goods Memo
 */
class DateTextMaking {

    const TIME_TEXT_FORMAT = "Y年n月j日 H:i"; //例:2018年10月6日 21:23
    const UNIX_TIME_ID_FORMAT = "Y-m-d-H-i-s"; //例:HTMLタグのIDに使う。

    public static function getUnixTimeMillSecond(): float {

	date_default_timezone_set('Asia/Tokyo');

	//ミリ秒を含むUnixタイムスタンプを得る。true:数値(float)で取得する。
	$timestamp = microtime(true);
	return $timestamp;
    }

    public static function makeTimeText($format, float $unixTimestamp) {

	//日時とミリ秒に分割する。
	$timeInfo = explode('.', $unixTimestamp);

	$text = date($format, $timeInfo[0]);
	return $text;
    }

    public static function makeUnixTimeIDText($format, float $unixTimestamp) {

	//日時とミリ秒に分割する。
	$timeInfo = explode('.', $unixTimestamp);

	$text = date($format, $timeInfo[0]) . '-' . $timeInfo[1];
	return $text;
    }

}