コード例 #1
0
ファイル: ago.php プロジェクト: piiskop/pstk
/**
 * This function finds the difference between two timestamps and constructs a
 * human-readable string for it.
 *
 * @author kalmer:piiskop <pandeero@gmail.com.
 * @param string $parameters['timestampInPast']
 *        	the timestamp in the past in the format
 *        	<code>/\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}/u</code>
 * @param string $parameters['timestampInFuture']
 *        	the timestamp in the future in the format
 *        	<code>/\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}/u</code>
 * @return string the human-readable string
 */
function findDifference($parameters)
{
    if (isset($parameters['timestampInPast'])) {
        $timestampInPast = new DateTime($parameters['timestampInPast']);
    } else {
        $timestampInPast = new DateTime();
    }
    if (isset($parameters['timestampInFuture'])) {
        $timestampInFuture = new DateTime($parameters['timestampInFuture']);
    } else {
        $timestampInFuture = new DateTime();
    }
    if ($timestampInFuture->getTimestamp() > $timestampInPast->getTimestamp()) {
        $difference = $timestampInPast->diff($timestampInFuture);
    } else {
        $difference = $timestampInFuture->diff($timestampInPast);
    }
    $partsOfTime = array();
    // @formatter:off
    if ($difference->y > 0) {
        $partsOfTime[] = generatePartialString(array('time' => $difference->y, 'unitInSingular' => \pstk\String::translate('year'), 'unitInPlural' => \pstk\String::translate('years')));
    }
    if ($difference->m > 0) {
        $partsOfTime[] = generatePartialString(array('time' => $difference->m, 'unitInSingular' => \pstk\String::translate('month'), 'unitInPlural' => \pstk\String::translate('months')));
    }
    if ($difference->d > 0) {
        $partsOfTime[] = generatePartialString(array('time' => $difference->d, 'unitInSingular' => \pstk\String::translate('day'), 'unitInPlural' => \pstk\String::translate('days')));
    }
    if ($difference->h > 0) {
        $partsOfTime[] = generatePartialString(array('time' => $difference->h, 'unitInSingular' => \pstk\String::translate('hour'), 'unitInPlural' => \pstk\String::translate('hours')));
    }
    if ($difference->i > 0) {
        $partsOfTime[] = generatePartialString(array('time' => $difference->i, 'unitInSingular' => \pstk\String::translate('minute'), 'unitInPlural' => \pstk\String::translate('minutes')));
    }
    if ($difference->s > 0) {
        echo ' 193 ';
        $partsOfTime[] = generatePartialString(array('time' => $difference->s, 'unitInSingular' => \pstk\String::translate('second'), 'unitInPlural' => \pstk\String::translate('seconds')));
    }
    // @formatter:on
    $humanReadableString = implode(" ", $partsOfTime);
    // 	echo ' <br/>201: ', $humanReadableString;
    return $humanReadableString;
}
コード例 #2
0
ファイル: ago.php プロジェクト: piiskop/pstk
/**
 * This function finds the difference between two timestamps and constructs a
 * human-readable string for it.
 * 
 * @return string the human-readable string
 */
function findDifference($parameters)
{
    if (isset($parameters['timestampInPast'])) {
        $timestampInPast = new DateTime($parameters['timestampInPast']);
    } else {
        $timestampInPast = new DateTime();
    }
    if (isset($parameters['timestampInFuture'])) {
        $timestampInFuture = new DateTime($parameters['timestampInFuture']);
    } else {
        $timestampInFuture = new DateTime();
    }
    $difference = $timestampInPast->diff($timestampInFuture);
    if ($timestampInFuture->getTimestamp() > $timestampInPast->getTimestamp()) {
        $difference = $timestampInPast->diff($timestampInFuture);
    } else {
        $difference = $timestampInFuture->diff($timestampInPast);
    }
    $partsOfTime = array();
    if ($difference->y > 0) {
        $partsOfTime[] = generatePartialString(array('time' => $difference->y, 'unit' => 'year'));
    }
    if ($difference->m > 0) {
        $partsOfTime[] = generatePartialString(array('time' => $difference->m, 'unit' => 'month'));
    }
    if ($difference->d > 0) {
        $partsOfTime[] = generatePartialString(array('time' => $difference->d, 'unit' => 'day'));
    }
    if ($difference->h > 0) {
        $partsOfTime[] = generatePartialString(array('time' => $difference->h, 'unit' => 'hour'));
    }
    if ($difference->i > 0) {
        $partsOfTime[] = generatePartialString(array('time' => $difference->i, 'unit' => 'minute'));
    }
    if ($difference->s > 0) {
        $partsOfTime[] = generatePartialString(array('time' => $difference->s, 'unit' => 'second'));
    }
    $humanReadableString = implode(" ", $partsOfTime);
    return $humanReadableString;
}