1<?php 2/** 3 * webtrees: online genealogy 4 * Copyright (C) 2018 webtrees development team 5 * This program is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * You should have received a copy of the GNU General Public License 14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 */ 16namespace Fisharebest\Webtrees; 17 18use DomainException; 19use Fisharebest\ExtCalendar\GregorianCalendar; 20use Fisharebest\Webtrees\Date\CalendarDate; 21use Fisharebest\Webtrees\Date\FrenchDate; 22use Fisharebest\Webtrees\Date\GregorianDate; 23use Fisharebest\Webtrees\Date\HijriDate; 24use Fisharebest\Webtrees\Date\JalaliDate; 25use Fisharebest\Webtrees\Date\JewishDate; 26use Fisharebest\Webtrees\Date\JulianDate; 27use Fisharebest\Webtrees\Date\RomanDate; 28use const WT_TIMESTAMP; 29use const WT_TIMESTAMP_OFFSET; 30 31/** 32 * Timestamps 33 */ 34class Timestamp 35{ 36 /** @var int UNIX style timestamp */ 37 private $time; 38 39 /** 40 * Create a timestamp. 41 * 42 * @param int $time Number of seconds since 1 Jan 1970 43 */ 44 public function __construct(int $time = WT_TIMESTAMP) 45 { 46 $this->time = $time; 47 } 48 49 /** 50 * Convert a timezone into a date. 51 * 52 * @param int $tz_offset 53 * 54 * @return Date 55 */ 56 public function toDate(int $tz_offset = WT_TIMESTAMP_OFFSET): Date{ 57 return new Date(strtoupper(gmdate('j M Y', $this->time + $tz_offset))); 58 } 59} 60