Files
tysweld.com/wp-content/plugins/duplicator-pro-v4.5.16.2/classes/utilities/class.u.date.php
2025-02-24 22:33:42 +01:00

109 lines
2.7 KiB
PHP

<?php
defined("ABSPATH") or die("");
/**
* Utility class working with date time values
*
* Standard: PSR-2
*
* @link http://www.php-fig.org/psr/psr-2
*
* @package DUP_PRO
* @subpackage classes/utilities
* @copyright (c) 2017, Snapcreek LLC
* @license https://opensource.org/licenses/GPL-3.0 GNU Public License
* @since 3.0.0
*
* @todo Finish Docs
*/
class DUP_PRO_DATE
{
/**
* Get local time from GMT
*
* @param int $timestamp timestamp
*
* @return string
*/
public static function getLocalTimeFromGMT($timestamp)
{
$local_ticks = self::getLocalTicksFromGMT($timestamp);
$date_portion = date('M j,', $local_ticks);
$time_portion = date('g:i:s a', $local_ticks);
return "$date_portion $time_portion";
}
/**
* Get local ticks from GMT
*
* @param int $timestamp timestamp
*
* @return int
*/
public static function getLocalTicksFromGMT($timestamp)
{
return $timestamp + \Duplicator\Libs\Snap\SnapWP::getGMTOffset();
}
/**
* Get local time from GMT ticks
*
* @param int $ticks timestamp
*
* @return string
*/
public static function getLocalTimeFromGMTTicks($ticks)
{
return self::getStandardTime($ticks + \Duplicator\Libs\Snap\SnapWP::getGMTOffset());
}
/**
* Get the current GMT time in ticks
*
* @param int $ticks timestamp
*
* @return string
*/
public static function getStandardTime($ticks)
{
//return date('D, d M Y H:i:s', $ticks);
return date('D, d M H:i:s', $ticks);
}
/**
* Returns a string representation of the GMT time in the format of the WP date and time settings
*
* @param int $timestamp The GMT timestamp
* @param bool $includeDate Whether to include the date portion
* @param bool $includeTime Whether to include the time portion
*
* @return string
*/
public static function getWPTimeFromGMTTime($timestamp, $includeDate = true, $includeTime = true)
{
$ticks = self::getLocalTicksFromGMT($timestamp);
$date_format = get_option('date_format');
$time_format = get_option('time_format');
if ($includeDate) {
$date_portion = date($date_format, $ticks);
} else {
$date_portion = '';
}
if ($includeTime) {
$time_portion = date($time_format, $ticks);
} else {
$time_portion = '';
}
if ($includeDate && $includeTime) {
$seperator = ' ';
} else {
$seperator = '';
}
return "$date_portion$seperator$time_portion";
}
}