. */ declare(strict_types=1); namespace Fisharebest\Webtrees\Contracts; /** * A localized date-time. */ interface TimestampInterface { /** * Convert a datetime to the user's Julian day number. * * @return int */ public function julianDay(): int; /** * @return string */ public function diffForHumans(): string; /** * @param string $format * * @return string */ public function format(string $format): string; /** * @param string $format * * @return string */ public function isoFormat(string $format): string; /** * @return string */ public function toDateString(): string; /** * @return string */ public function toDateTimeString(): string; /** * @param TimestampInterface $datetime * * @return int */ public function compare(TimestampInterface $datetime): int; /** * @param int $seconds * * @return $this */ public function addSeconds(int $seconds): TimestampInterface; /** * @param int $minutes * * @return $this */ public function addMinutes(int $minutes): TimestampInterface; /** * @param int $hours * * @return $this */ public function addHours(int $hours): TimestampInterface; /** * @param int $days * * @return $this */ public function addDays(int $days): TimestampInterface; /** * @param int $months * * @return $this */ public function addMonths(int $months): TimestampInterface; /** * @param int $years * * @return $this */ public function addYears(int $years): TimestampInterface; /** * @param int $seconds * * @return $this */ public function subtractSeconds(int $seconds): TimestampInterface; /** * @param int $minutes * * @return $this */ public function subtractMinutes(int $minutes): TimestampInterface; /** * @param int $hours * * @return $this */ public function subtractHours(int $hours): TimestampInterface; /** * @param int $days * * @return $this */ public function subtractDays(int $days): TimestampInterface; /** * @param int $months * * @return $this */ public function subtractMonths(int $months): TimestampInterface; /** * @param int $years * * @return $this */ public function subtractYears(int $years): TimestampInterface; /** * @return int */ public function timestamp(): int; }