[ 'dated' => [ 'html' => function($tag) { $dated = dated(); return '' . $dated . ''; } ] ] ]); /** * Returns the current dated address * * @return string */ function dated(): string { // date in seven days $date = modifiedJulianDate(time() + 7 * 24 * 60 * 60); return 'dated-' . $date . '@' . Url::host(); } /** * Returns the Modified Julian Date, * which is the Julian Date with the first two digits stripped * and with an offset of one day to compensate for the Julian Date * starting at noon instead of at midnight * * @param int $timestamp Timestamp to calculate from, defaults to the current date * @return int */ function modifiedJulianDate(?int $timestamp = null): int { $timestamp = $timestamp ?? time(); return gregoriantojd( date('m', $timestamp), date('d', $timestamp), date('Y', $timestamp) ) - 2400001; }